diff
memiliki opsi untuk mengabaikan perubahan spasi (-w
), sama untuk patch
(-l
). Secara umum, abaikan spasi putih adalah ide yang buruk, jadi Anda harus mencadangkan penggunaannya untuk kasus khusus, saat editor seseorang melakukan sesuatu yang mengerikan...
diff
memiliki lebih dari satu opsi yang terkait dengan spasi. Namun, satu kurang berguna untuk tambalan. Halaman manual memberikan petunjuk yang tidak jelas, mengacu pada kedua GNU:
-B, --ignore-blank-lines
ignore changes where lines are all blank
-b, --ignore-space-change
ignore changes in the amount of white space
-w, --ignore-all-space
ignore all white space
dan FreeBSD
-b Ignore changes in amount of white space.
-B Ignore changes that just insert or delete blank lines.
-w Ignore white space when comparing lines.
Biasanya seseorang menggunakan -b
, karena kecil kemungkinannya untuk mengabaikan perubahan yang signifikan. Jika yang diubah hanya indentasinya saja, maka keduanya -b
dan -w
memberikan hasil yang sama. Di sisi lain, jika Anda menyisipkan spasi yang tidak ada, atau menghapus spasi yang ada (tidak menyisakan apa pun), itu bisa menjadi perubahan dalam program Anda. Ini contohnya:
$ diff foo.c foo2.c
4c4
< setlocale(LC_ALL, "");
---
> setlocale(LC_ALL, " ");
6,7c6,7
< printw("\U0001F0A1");
< getch();
---
> printw ("\U0001F0A1");
> getch(); /* comment */
$ diff -b foo.c foo2.c
4c4
< setlocale(LC_ALL, "");
---
> setlocale(LC_ALL, " ");
6,7c6,7
< printw("\U0001F0A1");
< getch();
---
> printw ("\U0001F0A1");
> getch(); /* comment */
$ diff -w foo.c foo2.c
7c7
< getch();
---
> getch(); /* comment */
Dalam hal ini, -w
opsi memungkinkan Anda untuk mengabaikan perubahan pada setlocale
parameter (mungkin bukan yang dimaksud).
Omong-omong, diff POSIX hanya memiliki -b
opsi.
Untuk patch
, POSIX mendokumentasikan -l
opsi:
-l
(Surat ell .) Menyebabkan urutan<blank>
karakter dalam skrip perbedaan agar cocok dengan urutan<blank>
karakter dalam file masukan. Karakter lain harus dicocokkan persis.