Как я могу использовать Gvim для сообщений SVN коммит под Windows? - PullRequest
8 голосов
/ 13 января 2011

Под * nix я могу установить SVN_EDITOR на gvim --nofork, чтобы добиться цели, но, похоже, это не работает под Windows.Есть ли какое-то решение для этого?

Ответы [ 3 ]

12 голосов
/ 13 января 2011

Если вы установили пакетные файлы (c: \ windows \ gvim.bat), просто установите для EDITOR значение gvim -f, пакетный файл обрабатывает аргумент -f и задает параметр no-fork.

Трюк в пакетном файле выполняется START /WAIT path\to\gvim.exe %* (см. Аргумент / WAIT ).

Если у вас нет пакетных файлов, просто создайте новый с помощью команды выше и установите EDITOR для вновь создаваемого пакетного файла.

3 голосов
/ 13 января 2011

Этот ответ написан для Git, но должен применяться напрямую.

Чтобы сделать эту работу, попробуйте следующее.

  1. Создайте одну строкупакетный файл (с именем svn_editor.bat), который содержит следующее:
  2. "path/to/gvim.exe" --nofork "%*"
  3. Поместите svn_editor.bat в свой PATH.
  4. Set SVN_EDITOR=svn_editor.bat

После этого SVN должен корректно вызвать исполняемый файл gvim.

ПРИМЕЧАНИЕ 1. Параметр --nofork для gvim гарантирует, что он блокируется до тех пор, пока не будет записано сообщение о фиксации.

ПРИМЕЧАНИЕ 2. Кавычки вокруг пути к gvim требуются, если у вас есть пробелы в пути.

ПРИМЕЧАНИЕ 3. Кавычки вокруг "% *" необходимы на тот случай, если git передает путь к файлу спространства.

1 голос
/ 13 января 2011

Если проблема заключается в передаче параметров для предотвращения разветвления в gvim (ваш вопрос был немного расплывчатым), то вы можете либо создать командный файл, который вызывает gvim с необходимыми параметрами, либо просто добавить следующее в vimrc(НЕ gvimrc) и укажите SVN_EDITOR на gvim.exe:

set guioptions+=f

. Это говорит vim не делать форк при создании GUI и имеет то преимущество, что не нужно возиться с пакетными файлами.Для получения дополнительной информации см .:

:help gui-fork
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...