Git-Diff только над ханками, соответствующими регулярному выражению - PullRequest
1 голос
/ 09 мая 2019

Есть ли опция для git diff, которая позволяет просто учитывать фрагменты, которые соответствуют определенным критериям (например, регулярное выражение)?

Я хочу, чтобы diff просто показывал мне фрагменты, которые, например, начинаются со строки, соответствующей регулярному выражению .*<<<special_diff.*, и заканчиваются строкой, соответствующей регулярному выражению .*\sspecial_diff>>>

Я ищу решения, которые позволили бы сделать это, сохраняя быстродействие и оставаясь простым.

Примечание: должно быть в состоянии соответствовать нескольким строкам, чтобы я мог сопоставить (в лом) многострочный блок текста между определенными разделителями.

Соответствие только в том случае, если блок содержит полный блок (открывающие + закрывающие разделители); например, сопоставление многострочного блока, разделенного <body> и </body>.

1 Ответ

1 голос
/ 09 мая 2019

Использование git diff -Gregexp.Пример: коммит 5c6d3a9 @ mimedecode содержит 3 блока.Если я запускаю git diff 5c6d3a9~ 5c6d3a9, я вижу все 3.

Я могу отфильтровать их, используя git diff -GReplaced 5c6d3a9~ 5c6d3a9, и вижу только 2 из этих 3 блоков.С git diff -Greplaced 5c6d3a9~ 5c6d3a9 ничего не отображается, потому что по умолчанию поиск в регулярном выражении чувствителен к регистру.Чтобы сделать это без учета регистра, добавьте -i: git diff -Greplaced -i 5c6d3a9~ 5c6d3a9;это снова дает 2 куска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...