AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

AkelPad в многооконном режиме не работает как редактор в Git

 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
Mirocit



Joined: 15 Dec 2016
Posts: 4

PostPosted: Thu Dec 15, 2016 5:39 pm    Post subject: AkelPad в многооконном режиме не работает как редактор в Git Reply with quote

Здравствуйте.

Если установить AkelPad и настроить Git for Windows:

Code:
$ git config --global core.editor "'C:\Program Files\Git\AkelPad.bat'"


Содержимое файла C:\Program Files\Git\AkelPad.bat:

Code:
C:\Windows\SysWOW64\notepad.exe /x %1


То все прекрасно работает. После запуска коммита из git bash открывается AkelPad с содержимым файла .git\COMMIT_EDITMSG, его можно отредактировать, сохранить и закрыть, после чего все то, что было сохранено в .git\COMMIT_EDITMSG становится описанием коммита.

Проблема возникает, если в AkelPad выбрать многооконный режим: Настройки -> Оконный режим -> Многооконный или Псевдооконный. После этого файл .git\COMMIT_EDITMSG открывается в AkelPad, но вот в консоли git bash отображается ошибка: "Aborting commit due to empty commit message.", т.е. git bash перестает ожидать закрытия окна AkelPad с текстом.

Команда на открытие AkelPad:

C:\Windows\SysWOW64\notepad.exe /x PATHTOREPO/.git/COMMIT_EDITMSG

Подскажите, как исправить ситуацию, так как привык работать в многооконном режиме?
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2218
Location: Vinnitsa, Ukraine

PostPosted: Thu Dec 15, 2016 8:09 pm    Post subject: Reply with quote

Добавить параметры вызова /NewIstance /MainClass("GitAkelPad4_%d")
(если в батнике, понадобится два %%)

В чем суть: гит запускает редактор, и по его завершении делает своё дело. АР в мультиоконном режиме в включенной опции
"не открывать программу дважды" находит запущенный АР, говорит ему что открыть, и сам завершается, вот гит и лажает. Этими опциями заставили не искать старых экземпляров а открыть новый сразу.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Mirocit



Joined: 15 Dec 2016
Posts: 4

PostPosted: Fri Dec 16, 2016 12:16 am    Post subject: Reply with quote

Спасибо за попытку помочь, изменил строку в батнике, как вы посоветовали:
Code:
C:\Windows\SysWOW64\notepad.exe /NewIstance /MainClass("GitAkelPad4_%%d") /x %1


Но ничего не изменилось. Если AkelPad не запущен, то что с вашими опциями, что без - все ок, после git commit запускается редактор с открытым на редактирование файлом описания коммита, и редактор ждет закрытия AkelPad - все ок. Если AkelPad запущен, и в нем открыт или не открыт, без разницы, файл - открывается на редактирование файл COMMIT_EDITMSG в новой вкладке, но git не ждет редактирования, а сразу выдает ошибку, что "empty commit message"...
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2218
Location: Vinnitsa, Ukraine

PostPosted: Fri Dec 16, 2016 4:42 pm    Post subject: Reply with quote

Не буду советовать поставить черепаху Laughing

Получилось у меня втолковать гиту как запускать, а то он матерился на синтаксические ошибки. Вот что получилось
Code:
git config core.editor D:/akelpad/gitapedit.cmd

Содержимое:
Code:
@d:\AkelPad\AkelPad.exe /NewInstance /MainClass("MyAkelPad4%%d") /x "%*"


Проблема в том, что я не использую АР как замена блокнота. Это может быть проблемой, но есть вторая: вы с ходу запускаете 32битный АР. Почему? Вероятно потому что сам гит 32битный. Я же запускаю 64битный. Проблем не имею. Очевидно в одном из двоих названых отличий и проблема.
Я подозреваю что проблема в первом.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Mirocit



Joined: 15 Dec 2016
Posts: 4

PostPosted: Fri Dec 16, 2016 6:20 pm    Post subject: Reply with quote

С чего вы взяли, что я использую 32битный АР? У меня установлены новейшие версии, на сегодняшний момент: AkelPad 4.9.8 (x64) и Git for Windows Git-2.11.0-64-bit

Огромное Вам спасибо за cmd!!! Попробовал этот вариант, и все заработало как нужно: после коммита открывается другая программа AP (не новое окно в уже запущенном AkelPad`e, не смотря на многооконный режим, а новое окно с AkelPad`ом) с уже открытым COMMIT_EDITMSG, после редактирования и закрытия AkelPad, коммит записывается.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2218
Location: Vinnitsa, Ukraine

PostPosted: Fri Dec 16, 2016 6:53 pm    Post subject: Reply with quote

Quote:
С чего вы взяли, что я использую 32битный АР?

Потому-что глодиолус Laughing
Quote:
Code:
C:\Windows\SysWOW64\notepad.exe

В директории C:\Windows\SysWOW64 лежит 32битная копия системных компонентов.
Если 32битное приложение(в64битной системе) пытается посмотреть на c:\windows\system32, система на самом деле подставляет ему содержимое директорию C:\windows\syswow64
Если 32битному приложению(в64битной системе) таки нужно посмотреть на настоящий c:\windows\system32, то ему нужно искать его в c:\windows\sysnative.
Если в C:\windows\syswow64 попадет таки 64битные компоненты, то рискуете получить большой фингал Cool Ну вы поняли, рискуете получить неработоспособность.

Гуглить "MSDN File System Redirector"

Всё-же перепроверьте битность того notepad.exe на который вы смотрели. Ну или не проверяйте пока оно работает Smile
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Mirocit



Joined: 15 Dec 2016
Posts: 4

PostPosted: Fri Dec 16, 2016 9:44 pm    Post subject: Reply with quote

Я перед тем, как Вам написать, как раз и перепроверил: Справка -> О программе -> AkelPad 4.9.8 (x64). Возможно, notepad.exe как раз 32битный, а AP, как я писал ранее, у меня встроен вместо штатного блокнота. Но не суть важно - главное, что все ЗАРАБОТАЛО, благодаря Вам! И дело не в батнике, или цмдешнике, а в параметре MyAkelPad4 вместо GitAkelPad4_ Smile
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2218
Location: Vinnitsa, Ukraine

PostPosted: Fri Dec 16, 2016 10:09 pm    Post subject: Reply with quote

Mirocit
да, %%d суть решения)
Пояснение есть в доках АР AkelFiles\docs\AkelHelp-End|Rus.html
Кстати, а плагин сессий настроен у вас? Вангую проблемы если да Smile

Instructor
Если товарищ начнет коммитить с разных рабочих копий, и у него настроен плагин сессий, то ему придет привет: у него много табов будет, ибо закрывает по Esc и плагин помнит. После коммита гит затирает файл который редактировался, и ему будет матерится что файлов(с других рабочих копий) нету и предлагать создавать будет. Можно как с командной строки запретить сессии? Да и этот механизм редактирования используется для разрешения конфликтов тоже.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 6193

PostPosted: Wed Dec 28, 2016 12:12 pm    Post subject: Reply with quote

FeyFre wrote:
Можно как с командной строки запретить сессии?
Отключить автозагрузку Sessions плагина и запускать, когда нужен, с помощью:
Code:
AkelPad.exe /Call("Sessions::Main", 10) /Call("Sessions::Main", 1, "OnExit")
Когда не нужен:
Code:
AkelPad.exe
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group