2012-01-11 18 views
6

git diff -word-diffに問題があります。問題は、diffが改行なしでファイルを取得したとき(1行ファイル)、行ごとに異なっていることです。そして私はそれを単語ごとに異ならせたい。ここでgit diff -word-diffとonelineファイル

は、私は改行せずにファイルを比較していたときに何が起こるかです:

git diff -a --word-diff=plain file1 file2 
diff --git a/file1 b/file2 
index 3526254..0515a63 100644 
--- a/file1 
+++ b/file2 
@@ -1 +1 @@ 
[- a a a a a a a a a a-] 
No newline at end of file 
{+a a a a a ab a a a a+} 

そして、私は、ファイルの末尾に改行を追加する場合、すべてが期待どおりに動作します。

git diff -a --word-diff=plain file1 file2 
diff --git a/file1 b/file2 
index 1756d83..1ec45b9 100644 
--- a/file1 
+++ b/file2 
@@ -1,2 +1,2 @@ 
a a a a a [-a -]{+ab +}a a a a 
+1

AFAIK '--word-diff'は、行がdiffedした後の後処理のステップです(基本的には、" added "と" removed "の行が異なる)。これはGitのバグです。おそらくGitのメーリングリストにバグ報告を送ることができます – knittl

+0

ただ手紙を送っただけです。バグのように見えます。 – user1143094

答えて

6

私はGITに書きました彼らは本当にバグだと答えました。 また、彼らは私にこのケースのパッチを送ってくれます。 1.7.9で修正されるようです。

関連する問題