cách làm cho svn diff chỉ hiển thị những thay đổi dòng không có khoảng trắng giữa hai bản sửa đổi


95

Tôi có thể nhận được sự khác biệt giữa hai bản sửa đổi bằng cách sử dụng một cái gì đó như

svn diff -r 100:200 > file.diff

Nhưng vấn đề là có nhiều dòng hiển thị do thay đổi khoảng trắng. Có cách nào để chỉ viết những dòng thực sự thay đổi một cách đáng kể và không chỉ trong khoảng trắng không?

Câu trả lời:


95

Bạn có thể dùng

svn diff -r 100:200 -x -b > file.diff

Nếu bạn muốn bỏ qua tất cả các khoảng trắng:

svn diff -x -w | less

Nguồn


Đó là mới cho 1.6? SVN không bao giờ sử dụng để làm điều đó. Tôi nên giữ cho hiện tại nhiều hơn :)
Dan McGrath

4
1.5.4 làm được. Nhưng: --ignore-space-change, không phải --ignore-space-changes
ur.

@Dan McG. Không biết có mới cho phiên bản 1.6 hay không, nhưng mục nhập số 8 tại akatombo.com/en/comments/ignore_whitespace_in_a_subversion_diff gợi ý rằng nó có sẵn từ ngày 1.4
jrbjazz

1
Vì EOL cũng có thể được coi là khoảng trắng, nên việc bổ sung -x --ignore-eol-stylecó thể cần thiết nếu kiểu EOL khác nhau giữa các bản sửa đổi.
nedim

5
Sử dụng svn diff -x -wđôi khi cũng có thể có ích, vì nó bỏ qua nhiều khoảng trắng (bí danh cho bỏ qua tất cả-không gian)
Kendall

74

Sử dụng -x --ignore-space-changehoặc -x --ignore-all-space. (Xem svn -h diff.)


21
svn diff -x -w==svn diff -x --ignore-all-space
chrisg86

7

Bạn có thể sử dụng lệnh khác biệt thay thế bằng cách sử dụng đối số --diff-cmd cho svn diff. diff là một tiện ích tốt có nhiều tính năng để bỏ qua khoảng trắng.

Ví dụ:

svn diff --diff-cmd /usr/bin/diff -x "-w"

11
thực sự tôi đã sử dụng svn diff --diff-cmd / usr / bin / diff -x "-w" -r 2000: 2100> jj1 và nó hoạt động. cảm ơn
umar

@umar: Đây là cách duy nhất có vẻ hiệu quả với tôi.
Lightness Races ở Orbit

7

Lưu ý rằng cuối dòng không được coi là khoảng trắng trong trường hợp này và điều đó phải được bỏ qua với:

svn diff -x --ignore-eol-style [etc...]
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.