GCommit не работает с fugitive.vim под Windows XP? - PullRequest
2 голосов
/ 19 мая 2010

Я только что обнаружил fugitive.vim, который довольно крутой. Тем не менее, я столкнулся с проблемой (это использование Windows XP, MSY GIT 1.7, fugitive.vim 1.1 и gvim 7.2). Добавление файлов в индекс и проверка состояния работает просто отлично, но когда я делаю :GCommit, командная строка мигает секунду, и ничего не происходит. Нет способа набрать сообщение о коммите и ничего не зафиксировано. Это ошибка? Я делаю что-то неправильно?

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Похоже, выпуск 428 msysgit.
(Из выпуск 467 )

Об этом сообщает michaelrgeddes, 07 апреля 2010 г.

Какие шаги воспроизведут проблему?
Из оболочки cmd

set GIT_EDITOR=false
set ERRORLEVEL=
git commit
if errorlevel 1 echo Has an error %ERRORLEVEL%

Ожидается сообщение «Имеет ошибку 1», но не отображается.

git версии 1.7.0.2.msysgit.0, работающий в Vista.

Важно, поскольку это вызывает :Gcommit сбой в «скрытой» интеграции vim.


Решение: patch cmd/git.cmd скрипт вашей текущей установки msysgit.

cmd / git.cmd | 6 ++++ - 1 файл изменен, 4 вставки (+), 2 удаления (-)

diff --git a/cmd/git.cmd b/cmd/git.cmd
index 048f615..8cd4397 100644
--- a/cmd/git.cmd
+++ b/cmd/git.cmd
@@ -19,13 +19,15 @@
 @rem Set the console codepage to match the GUI codepage.
 @chcp %cp_ansi% > nul
 @git.exe %*
+@set ErrorLevel=%ErrorLevel%
 @rem Restore the original console codepage.
 @chcp %cp_oem% > nul
 @goto quit 

 :gui
 @if "%2"=="citool" @goto default
-@start wish.exe "%git_install_root%\libexec\git-core\git-gui" -- %2 %3 %4 %5 %6 %7 %8 %9
+@for /f "tokens=1-1*" %%a in ("%*") do @set args=%%b
+@start "git-gui" wish.exe "%git_install_root%\libexec\git-core\git-gui" -- %args%

 :quit
-@%COMSPEC% /c exit /b %ErrorLevel%
+@"%COMSPEC%" /c exit /b %ErrorLevel%
0 голосов
/ 17 октября 2013

Вот возможная ситуация, которая может вызвать проблему, с которой я столкнулся. Я перечислю это здесь в случае, если это может помочь любому другому, кто столкнулся с той же самой проблемой.

Случилось так, что после того, как я установил git (загруженный с http://git -scm.com / ), я не установил git global config user.email. После того, как я настроил это через командную строку, Gcommit работает. Поэтому, если кто-то сталкивался с такой же проблемой, убедитесь, что вы можете выполнить коммит из командной строки, а затем попробуйте Gcommit.

...