2

我刚刚发现了 fugitive.vim,它非常酷。但是,我遇到了一个问题(这是使用 windows xp、msys git 1.7、fugitive.vim 1.1 和 gvim 7.2)。将文件添加到索引并检查状态可以正常工作,但是当我执行 a 时:GCommit,命令提示符会闪烁一秒钟,但没有任何反应。无法输入提交消息,也没有提交任何内容。这是一个错误吗?难道我做错了什么?

4

2 回答 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 回答