2017-08-10 30 views
0

ファイルがgit diff --quietで修正されているかどうかを確認してから、終了ステータスコードを使用します。Windowsの絶対パスでGit diffが動作しない

Windows 7で作業していても、自分のcygwinシェルには問題はありません。

$ git diff --quiet /cygdrive/c/git/foo/bar/Home.js 
$ !ech 
echo $? 
1 

しかし、私はCygwinのシェルで窓の完全なパスを使用する場合、私は誤って終了0のステータスを取得::終了ステータスコードは正しいです

$ git diff --quiet "C:\\git\\foo\\bar\\Home.js" 
$ echo $? 
0 

をなぜこれとどのようにすることができますです絶対パスのパスを使用し、正しい終了ステータスコードを取得しますか?

UPDATE windows絶対パスを使用すると、git diffがまったく動作しないか/何も表示されないことがわかりました。 Windows絶対パスでgit diffを使用するにはどうすればよいですか?

答えて

0

cygpathを使用してWindowsパスを変換してからgitに渡します。

+0

これは機能しません。スクリプトでこれを実行する必要があります。 – dman

+0

スクリプトに 'cygpath'を実行できない理由は何ですか? – jingx

+0

スクリプトを使用する他のユーザーにcygwinはありません – dman

関連する問題