Как показать пространство и вкладки с помощью git-diff

У меня есть следующий вывод с git-diff.

- // sort list based on value    
+ // sort list based on value

Как я могу легко увидеть количество удаленных вкладок / пробелов в конце строки?

2 ответа

Решение

Примечание. В Git 2.5+ (второй квартал 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), но вы можете сосредоточиться только на новых ошибках:

старые и новые ошибки shitespace

(тест сделан после t/t4015-diff-whitespace.sh)


Обновление Git 2.11+ (4 квартал 2016 года, полтора года спустя):

git config diff.wsErrorHighlight [old,new,context]

git diff/log --ws-error-highlight=<kind> не хватало соответствующей переменной конфигурации, чтобы установить ее по умолчанию. Это добавлено в Git 2.11.

Смотрите коммит 0b4b42e, коммит 077965f, коммит f3f5c7f (4 октября 2016 г.) от Junio ​​C Hamano ( gitster )
(Объединено Юнио С Хамано - gitster - в коммите e5272d3, 26 октября 2016 г.)

Я могу думать о нескольких вариантах:

  • Настройте Git для использования цветов: git config --global color.ui true, Пробелы в конце строк теперь выделены красным.

  • Труба на выходе git diff через cat: git diff | cat -A, -A флаг говорит cat показать непечатные символы (например, ^I за вкладку).

Другие вопросы по тегам