Настройка заголовков в git diff - PullRequest
15 голосов
/ 05 августа 2010

При просмотре различий с использованием git diff каждое изменение начинается со строки вроде:

@@ -28,41 +20,10 @@ namespace ConsoleApplication1

Для C последняя часть довольно описательна - она ​​показывает, например, функцию, в которой произошло изменение. Но для C # он только показывает пространство имен, что не очень полезно. Я думаю, это потому, что он показывает последнюю строку без отступа. Есть ли способ как это настроить?

Ответы [ 2 ]

19 голосов
/ 05 августа 2010

Я нашел это, строка называется заголовок hunk, а документация говорит, как ее настроить:

Определение пользовательского заголовка ханка

Каждая группа изменений (называемая «ломоть») в выводе текстового diff имеет префикс строки вида:

@@ -k,l +n,m @@ TEXT

Это называется заголовком блока. Часть «TEXT» по умолчанию является строкой, которая начинается с алфавита, подчеркивания или знака доллара; это соответствует тому, что использует вывод GNU diff -p. Однако этот выбор по умолчанию не подходит для некоторого содержимого, и вы можете использовать собственный шаблон для выбора.

Во-первых, в .gitattributes вы должны назначить атрибут diff для путей.

*.tex   diff=tex

Затем вы должны определить конфигурацию "diff.tex.xfuncname", чтобы указать регулярное выражение, совпадающее со строкой, которую вы хотели бы видеть в качестве заголовка блока "TEXT". Добавьте раздел в ваш $GIT_DIR/config файл (или $HOME/.gitconfig файл) следующим образом:

[diff "tex"]
        xfuncname = "^(\\\\(sub)*section\\{.*)$"

Примечание. Парсер конфигурационных файлов съедает один уровень обратной косой черты, поэтому вам потребуется удвоить обратную косую черту; вышеприведенный шаблон выбирает строку, которая начинается с обратной косой черты, и ноль или более вхождений sub, за которым следует раздел, за которым следует открывающая скобка, до конца строки.

4 голосов
/ 05 августа 2010

См. страницу руководства gitattributes , раздел «Создание различий текста» и, например, diff.csharp.xfuncname конфигурация (поиск xfuncname).

...