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