bagaimana membuat svn diff hanya menampilkan perubahan baris non-spasi antara dua revisi


95

Saya bisa mendapatkan perbedaan antara dua revisi menggunakan sesuatu seperti

svn diff -r 100:200 > file.diff

Namun yang menjadi masalah adalah banyak baris yang muncul karena adanya perubahan spasi. Adakah cara untuk hanya menulis baris yang benar-benar berubah secara signifikan dan tidak hanya di spasi?

Jawaban:


95

Kamu bisa memakai

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

Jika Anda ingin mengabaikan semua spasi:

svn diff -x -w | less

Sumber


Apakah itu baru untuk 1.6? SVN tidak pernah menggunakan untuk melakukan itu. Saya harus terus memperbarui :)
Dan McGrath

4
1.5.4 melakukannya. Tapi: --ignore-space-change, bukan --ignore-space-changes
ur.

@Dan McG. Tidak tahu apakah itu baru untuk 1.6, tetapi entri nomor 8 di akatombo.com/en/comments/ignore_whitespace_in_a_subversion_diff menyarankan bahwa itu tersedia sejak 1.4
jrbjazz

1
Karena EOL dapat dianggap spasi juga, penambahan -x --ignore-eol-stylemungkin diperlukan jika gaya EOL berbeda di antara revisi.
nedim

5
Menggunakan svn diff -x -wterkadang juga dapat berguna, karena mengabaikan lebih banyak spasi (alias untuk ignore-semua-spasi)
Kendall

74

Gunakan -x --ignore-space-changeatau -x --ignore-all-space. (Lihat svn -h diff.)


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

7

Anda dapat menggunakan perintah diff alternatif menggunakan argumen --diff-cmd untuk svn diff. diff adalah utilitas bagus yang memiliki banyak fitur untuk mengabaikan spasi.

Sebagai contoh:

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

11
sebenarnya saya menggunakan svn diff --diff-cmd / usr / bin / diff -x "-w" -r 2000: 2100> jj1 dan berhasil. terima kasih
umar

@umar: Ini adalah satu-satunya cara yang tampaknya berhasil bagi saya.
Balapan Ringan di Orbit

7

Perhatikan bahwa akhir baris tidak dianggap spasi dalam skenario ini dan itu harus diabaikan dengan:

svn diff -x --ignore-eol-style [etc...]
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.