2012-01-11 35 views
6

Tôi đang gặp sự cố với git diff --word-diff. Điều là khi diff được tập tin mà không có dòng mới (một dòng tập tin) nó differrs nó từng dòng. Và tôi muốn khác biệt từng chữ một.git diff --word-diff với các tệp trực tuyến

Đây là những gì xảy ra khi tôi đang so sánh tập tin mà không newlines:

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+} 

Và nếu tôi thêm xuống dòng để kết thúc các tập tin mọi thứ hoạt động như mong đợi:

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' là bước hậu xử lý sau khi các dòng được phân biệt (về cơ bản là khác với" được thêm "với các dòng" đã xóa "). Có vẻ như đây là lỗi trong Git, có thể bạn có thể gửi báo cáo lỗi tới danh sách gửi thư Git – knittl

+0

Chỉ cần gửi cho họ một lá thư. Trông giống như một con bọ. – user1143094

Trả lời

6

Tôi đã viết thư cho GIT và họ trả lời rằng đó là một lỗi thực sự. Ngoài ra, họ gửi cho tôi một bản vá cho trường hợp đó. Có vẻ như nó sẽ được sửa trong 1.7.9.

Các vấn đề liên quan