使用oneline文件的git diff --word-diff

时间:2012-01-11 11:53:15

标签: git diff word-diff

我遇到了使用git diff --word-diff的问题。问题是当diff获取没有换行符的文件(一个行文件)时,它会逐行区分。我想逐字逐句地区分它。

当我在没有换行符的情况下比较文件时会发生什么:

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 个答案:

答案 0 :(得分:6)

我写信给GIT团队,他们回答说这确实是一个错误。 他们还给我发了一个补丁。 看起来它将在1.7.9中修复。