Satu kasus ketika Anda benar-benar peduli adalah ketika Anda ingin membedakan antara kesalahan spasi putih "lama" (yang mungkin ingin Anda simpan karena alasan lama) dan kesalahan spasi putih "baru" (yang ingin Anda hindari).
Oleh karena itu, Git 2.5+ (Q2 2015) akan mengusulkan opsi yang lebih spesifik untuk deteksi spasi.
Lihat komit 0e383e1 , 0ad782f , dan d55ef3e [26 Mei 2015] oleh Junio C Hamano ( gitster
) .
(Digabung oleh Junio di commit 709cd91 , 11 Jun 2015)
diff.c
: --ws-error-highlight=<kind>
opsi
Secara tradisional, kami hanya peduli tentang kerusakan spasi putih yang diperkenalkan di baris baru.
Beberapa orang ingin melukis kerusakan spasi putih pada garis lama juga. Saat mereka melihat kerusakan spasi putih pada baris baru, mereka dapat melihat kerusakan spasi putih yang sama pada baris lama yang sesuai dan ingin mengatakan "Ah, kerusakan itu ada tetapi diwarisi dari aslinya, jadi jangan menyentuhnya karena sekarang."
Memperkenalkan --ws-error-highlight=<kind>
pilihan, yang memungkinkan mereka lewat dipisahkan koma daftar old
, new
dan context
untuk menentukan apa yang baris untuk menyorot spasi kesalahan pada.
The Dokumentasi sekarang termasuk :
--ws-error-highlight=<kind>
Sorot kesalahan spasi pada baris yang ditentukan oleh <kind>
dalam warna yang ditentukan oleh color.diff.whitespace
.
<kind>
adalah daftar dipisahkan koma old
, new
, context
.
Jika opsi ini tidak diberikan, hanya kesalahan spasi dalamnew
baris yang disorot.
Misalnya --ws-error-highlight=new,old
menyoroti kesalahan spasi pada baris yang dihapus dan ditambahkan.
all
dapat digunakan sebagai kependekan dari old,new,context
.
Misalnya, komit lama memiliki satu whitespace error ( bbb
), tetapi Anda dapat fokus hanya pada kesalahan baru (di akhir still bbb
dan ccc
):
(tes dilakukan setelah t/t4015-diff-whitespace.sh
)
Dengan Git 2.26 (Q1 2020), kelompok diff-*
subperintah pipa sekarang memperhatikan diff.wsErrorHighlight
konfigurasi, yang telah diabaikan sebelumnya; ini memungkinkan "git add -p
" untuk juga menampilkan masalah spasi putih kepada pengguna akhir.
Lihat commit da80635 (31 Jan 2020) oleh Jeff King ( peff
) .
(Digabung oleh Junio C Hamano - gitster
- di commit df04a31 , 14 Feb 2020)
diff
: pindahkan diff.wsErrorHighlight ke konfigurasi "dasar"
Ditandatangani oleh: Jeff King
Kami mengurai diff.wsErrorHighlight in git_diff_ui_config()
, yang berarti bahwa ini tidak berlaku untuk perintah pipa ledeng, hanya untuk porselen seperti git diff
itu sendiri.
Ini agak menjengkelkan karena itu berarti skrip seperti add--interactive
, yang menghasilkan perbedaan yang terlihat oleh pengguna dengan warna, tidak menghargai opsi .
Kita dapat mengajarkan skrip tersebut untuk mengurai konfigurasi dan meneruskannya --ws-error-highlight
ke pipa saluran diff. Tapi ada solusi yang lebih sederhana.
Seharusnya cukup aman bagi pipa ledeng untuk mengikuti opsi ini, karena ini hanya bekerja jika warna diaktifkan. Dan siapa pun yang mengurai keluaran berwarna pasti sudah berurusan dengan fakta yang color.diff.*
mungkin mengubah keluaran persis yang mereka lihat; opsi tersebut telah menjadi bagian git_diff_basic_config()
sejak dimulainya di 9a1805a872 (tambahkan callback config diff "dasar", 2008-01-04, Git v1.5.4-rc3).
Jadi kita bisa memindahkannya ke konfigurasi "dasar", yang diperbaiki add--interactive
, bersama dengan skrip lain di kapal yang sama, dengan risiko yang sangat rendah melukai pengguna pipa ledeng.