我刚刚发现了 fugitive.vim,它非常酷。但是,我遇到了一个问题(这是使用 windows xp、msys git 1.7、fugitive.vim 1.1 和 gvim 7.2)。将文件添加到索引并检查状态可以正常工作,但是当我执行 a 时:GCommit
,命令提示符会闪烁一秒钟,但没有任何反应。无法输入提交消息,也没有提交任何内容。这是一个错误吗?难道我做错了什么?
问问题
912 次
2 回答
2
它看起来像msysgit 的issue 428。
(来自第 467 期)
迈克尔格德斯报道,2010 年 4 月 7 日
哪些步骤将重现该问题?
从 cmd 外壳
set GIT_EDITOR=false
set ERRORLEVEL=
git commit
if errorlevel 1 echo Has an error %ERRORLEVEL%
期望看到“有错误 1”,但没有。
在 Vista 上运行的 git 版本 1.7.0.2.msysgit.0。
很重要,因为它会导致
:Gcommit
“逃亡”vim 集成失败。
解决方案:修补cmd/git.cmd
当前 msysgit 安装的脚本。
命令/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%
于 2010-05-19T05:50:09.630 回答
0
这是我遇到的可能导致问题的情况。我在这里列出它,以防它可以帮助遇到相同问题的任何其他人。
碰巧在我安装了 git(从http://git-scm.com/下载)之后,我没有设置 git global config user.email。在我通过命令行设置之后,Gcommit 工作。因此,如果有人遇到同样的问题,请确保您可以从命令行提交,然后尝试 Gcommit。
于 2013-10-17T01:21:44.627 回答