Mercurial Editor: "abort: система не может найти указанный файл"

У меня проблема с тем, чтобы Mercurial узнал моего редактора. У меня есть файл, c:\windows\notepad.exe и набрав "блокнот" в командной строке работает. Я могу совершить с помощью "-m"Аргумент для предоставления названия коммита. Но простой"hg commit"поднимает ошибку.

Призыв кhg --traceback commit" воспитывает:

Traceback (most recent call last):
  File "mercurial\dispatch.pyc", line 47, in _runcatch
  File "mercurial\dispatch.pyc", line 466, in _dispatch
  File "mercurial\dispatch.pyc", line 336, in runcommand
  File "mercurial\dispatch.pyc", line 517, in _runcommand
  File "mercurial\dispatch.pyc", line 471, in checkargs
  File "mercurial\dispatch.pyc", line 465, in <lambda>
  File "mercurial\util.pyc", line 401, in check
  File "mercurial\commands.pyc", line 708, in commit
  File "mercurial\cmdutil.pyc", line 1150, in commit
  File "mercurial\commands.pyc", line 706, in commitfunc
  File "mercurial\localrepo.pyc", line 836, in commit
  File "mercurial\cmdutil.pyc", line 1155, in commiteditor
  File "mercurial\cmdutil.pyc", line 1184, in commitforceeditor
  File "mercurial\ui.pyc", line 361, in edit
  File "mercurial\util.pyc", line 383, in system
  File "subprocess.pyc", line 470, in call
  File "subprocess.pyc", line 621, in __init__
  File "subprocess.pyc", line 830, in _execute_child
WindowsError: [Error 2] The system cannot find the file specified
abort: The system cannot find the file specified

Я попытался установить переменную окружения HGEDITOR, настройка "visual =" а также "editor =" в Mercurial.ini файл. Я пробовал полный путь, а также только команду. Я также попытался скопировать файл notepad.exe как в текущую папку, так и в папку Mercurial.

В идеале я хотел бы использовать редактор в этом месте "C:\PortableApps\Notepad++Portable\Notepad++Portable.exe", но на этом этапе я был бы счастлив с любым редактором!

HG debugconfig выводит:

c:\wamp\www\SiteAB.com\web>hg debugconfig
bundle.mainreporoot=c:\wamp\www\SiteAB.com\web
ui.username=killroy
ui.shell=true
ui.verbose=true
ui.visual="C:\PortableApps\Notepad++Portable\Notepad++Portable.exe"
ui.editor="C:\PortableApps\Notepad++Portable\Notepad++Portable.exe"

2 ответа

Тот editor = notepad не работает говорит о том, что что-то не так с вашей средой. Поскольку запуск блокнота из командной строки работает, мне интересно, возможно, проблема в установке Python. Ваша обратная трассировка заставляет меня думать, что вы используете hg 1.5, которая была текущей, когда вы писали. Хотя я не верю, что это должно иметь значение, обновление до 1.5.4 не помешает.

Вы используете Notepad++Portable со своего диска C:. Обычно устанавливаются PortableApps на съемный диск. Вы уверены, что HG должен смотреть на C:? Я понимаю, что иногда непривилегированным пользователям может быть удобно устанавливать их локально. Notepad++Portable не будет особенно хорошо играть с hg. Вам нужно будет полностью закрыть npp и вызвать его из hg, иначе фиксация не будет работать. Если вы можете, я бы попробовал запустить полную версию Notepad ++. Вот что я использую:

[ui]
editor = "C:\Program Files\Notepad++\notepad++.exe" -multiInst -nosession

-multiInst говорит npp открыть новый экземпляр только для hg. Таким образом, он не будет мешать любым окнам npp, которые у вас уже открыты. Это не работает с версией PortableApps.
-nosession говорит npp не открывать какие-либо ранее открытые файлы, что ускоряет время запуска и уменьшает беспорядок. Когда я пишу сообщение коммита, я хочу сосредоточиться на своем сообщении, а не отвлекаться на кучу не связанных вкладок.

Когда вы установите editor = в файле Mercurial.ini, вы делаете это в [ui] раздел, верно?

После этого, возможно, предоставьте вывод hg debugconfig?

Другие вопросы по тегам