Один з випадків, коли ви могли б законно піклуватися, це коли ви хочете розмежовувати "стару" помилку пробілу (яку ви можете зберегти з застарілої причини) та "нову" помилки пробілу (яких ви хочете уникнути).
Для цього Git 2.5+ (Q2 2015) запропонує більш конкретний варіант для виявлення пробілів.
Див. Коміти 0e383e1 , 0ad782f та d55ef3e [26 травня 2015] від Junio C Hamano ( gitster
) .
(Злити Junio в фіксації 709cd91 , 11 Червня 2015)
diff.c
: --ws-error-highlight=<kind>
варіант
Традиційно ми дбали лише про поломки білого простору, запроваджені в нових рядках.
Деякі люди також хочуть намалювати поломки білого простору на старих лініях. Коли вони бачать розрив білого простору на новій лінії, вони можуть помітити такий самий вид розриву пробілу на відповідній старій лінії і хочуть сказати "Ах, ці поломки є, але вони були успадковані від оригіналу, тому не будемо торкатися їх до зараз ".
Введіть --ws-error-highlight=<kind>
параметр, який дозволяє їм передавати список old
, розділений комами new
, і context
вказати, на яких рядках слід виділити помилки пробілу.
Документація в даний час включає в себе :
--ws-error-highlight=<kind>
Виділіть помилки пробілів на лініях, визначених <kind>
кольором, визначеним color.diff.whitespace
.
<kind>
це розділений комами список old
, new
, context
.
Якщо ця опція не задана, new
виділяються лише помилки пробілу в рядках.
Наприклад, --ws-error-highlight=new,old
виділяються помилки пробілів у видалених та доданих рядках.
all
може бути використаний як короткий для old,new,context
.
Наприклад, у старій фіксації була одна помилка пробілу ( bbb
), але ви можете зосередитись лише на нових помилках (в кінці still bbb
та ccc
):
(тест зроблено після t/t4015-diff-whitespace.sh
)
З Git 2.26 (Q1 2020) diff-*
сімейство сантехнічних підкоманд тепер звертає увагу на diff.wsErrorHighlight
конфігурацію, яку раніше ігнорували; це дозволяє " git add -p
" також показувати проблеми з пробілом для кінцевого користувача.
Див. Команду da80635 (31 січня 2020 р.) Джеффа Кінга ( peff
) .
(Об’єднав Хуніо С Хамано - gitster
- у комісії df04a31 , 14 лютого 2020 р.)
diff
: перемістіть diff.wsErrorHighlight у "базовий" конфігурацію
Підписався: Джефф Кінг
Ми розбираємо diff.wsErrorHighlight git_diff_ui_config()
, тобто це не спрацьовує для сантехнічних команд, лише для порцеляни, як git diff
сама.
Це м'яко дратує, оскільки це означає add--interactive
, що такі сценарії , які створюють видимий користувачем різницю за кольором, не поважають цю опцію .
Ми могли б навчити цей скрипт розбирати конфігурацію та передавати її по відношенню --ws-error-highlight
до різної сантехніки. Але є більш просте рішення.
Водопровідник повинен бути досить безпечним для того, щоб дотримуватися цього варіанту, оскільки він запускається лише тоді, коли колір в іншому випадку включений. І кожен, хто аналізує кольоровий вихід, вже повинен мати справу з тим, що color.diff.*
може змінити точний вихід, який вони бачать; ці параметри були частиною з git_diff_basic_config()
моменту створення в 9a1805a872 (додайте "базовий" розрив call config, 2008-01-04, Git v1.5.4-rc3).
Таким чином, ми можемо просто перемістити його до "базового" конфігурації, який виправляє add--interactive
разом з будь-яким іншим сценарієм у тому ж човні з дуже низьким ризиком пошкодити будь-яких користувачів сантехніки.