Meşru olarak umursayabileceğiniz bir durum, "eski" beyaz boşluk hatası (eski nedenlerden dolayı saklamak isteyebileceğiniz) ile "yeni" boşluk hatalarını (kaçınmak istediğiniz) ayırt etmek istediğiniz zamandır.
Bu amaçla Git 2.5+ (2015 2. Çeyrek), beyaz boşluk tespiti için daha spesifik bir seçenek önerecektir.
Bkz 0e383e1 taahhüt , 0ad782f ve d55ef3e kriteri: [2015 26 Mayıs] Junio Cı Hamano ( gitster
) .
(Göre Birleştirilmiş Junio içinde 709cd91 işlemek 2015 11 Haz)
diff.c
: --ws-error-highlight=<kind>
seçenek
Geleneksel olarak, sadece yeni satırlarda ortaya çıkan boşluk kırılmalarını önemsiyorduk.
Bazı insanlar beyaz boşluk kırılmalarını eski çizgilere de boyamak ister. Yeni bir satırda bir beyaz boşluk kırılması gördüklerinde, karşılık gelen eski satırda aynı türden beyaz boşluk kırılmasını görebilirler ve "Ah, bu kırılmalar oradadır ancak orijinalden miras alınmıştır, bu yüzden onlara dokunmayalım şimdi. "
Tanıtın --ws-error-highlight=<kind>
onları virgülle ayrılmış listesi geçmesi olanak veren, seçeneği old
, new
ve context
üzerinde boşluk vurgulamak hataları neler satırları belirtmek için.
Dokümantasyon şimdi içerir :
--ws-error-highlight=<kind>
İle belirtilen <kind>
renkte ile belirtilen satırlardaki boşluk hatalarını vurgulayın color.diff.whitespace
.
<kind>
virgülle ayrılmış bir listesi old
, new
, context
.
Bu seçenek verilmediğinde, yalnızca new
satırlardaki boşluk hataları vurgulanır.
Örneğin --ws-error-highlight=new,old
, hem silinen hem de eklenen satırlardaki boşluk hatalarını vurgular.
all
için kısa el olarak kullanılabilir old,new,context
.
Örneğin, eski bir boşluk hatası (vardı tamamlama bbb
), ancak yalnızca (sonunda yeni hatalar odaklanabilir still bbb
ve ccc
):
(test sonra yapılır t/t4015-diff-whitespace.sh
)
Git 2.26 (Q1 2020) ile, diff-*
alt komutların sıhhi tesisat ailesi şimdi diff.wsErrorHighlight
daha önce göz ardı edilen yapılandırmaya dikkat ediyor ; bu da " git add -p
" boşluk sorunlarını son kullanıcıya göstermeye olanak tanır .
Bkz. Commit da80635 (31 Ocak 2020), Jeff King ( peff
) .
( Junio C Hamanogitster
tarafından birleştirildi - - in commit df04a31 , 14 Şub 2020)
diff
: diff.wsErrorHighlight'ı "temel" yapılandırmaya taşı
İmza: Jeff King
Diff.wsErrorHighlight'ı ayrıştırıyoruz git_diff_ui_config()
, yani sıhhi tesisat komutları için değil, sadece git diff
kendisi gibi porselenlerde etkili oluyor .
Bu, add--interactive
renkle kullanıcı tarafından görülebilen bir farklılık üreten komut dosyalarının seçeneğe uymadığı anlamına geldiği için biraz can sıkıcıdır .
Bu betiğe yapılandırmayı ayrıştırmayı ve --ws-error-highlight
diff tesisatına göre iletmeyi öğretebiliriz . Ancak daha basit bir çözüm var.
Yalnızca renk başka şekilde etkinleştirildiğinde devreye girdiği için, bu seçeneğe uymak sıhhi tesisat için makul derecede güvenli olmalıdır. Ve renklendirilmiş çıktıyı ayrıştıran herhangi biri color.diff.*
, gördükleri kesin çıktıyı değiştirebilecek olguyla zaten ilgilenmelidir ; bu seçenekler, 9a1805a872'dekigit_diff_basic_config()
başlangıcından beri bir parçası olmuştur (bir "temel" diff yapılandırma geri çağrısı ekleyin, 2008-01-04, Git v1.5.4-rc3).
Böylece add--interactive
, aynı teknedeki diğer komutlarla birlikte, tesisat kullanıcılarına zarar verme riski çok düşük olan "temel" yapılandırmaya taşıyabiliriz .