2

とてもクールな fugitive.vim を発見しました。ただし、問題が発生しました (これは Windows XP、msys git 1.7、fugitive.vim 1.1、および gvim 7.2 を使用しています)。インデックスへのファイルの追加とステータスの確認は正常に機能しますが、コマンド プロンプトを実行する:GCommitと、コマンド プロンプトが一瞬点滅し、何も起こりません。コミット メッセージを入力する方法がなく、何もコミットされません。これはバグですか?私は何か間違ったことをしていますか?

4

2 に答える 2

2

msysgitの問題428のようです。
( 467号より)

michaelrgeddes による報告、2010 年 4 月 7 日

問題を再現する手順は何ですか?
コマンドシェルから

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 統合に失敗する原因となるため、重要です。


解決策:現在の msysgit インストールのスクリプトにパッチを適用します。cmd/git.cmd

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%
于 2010-05-19T05:50:09.630 に答える