Создание различий, которые игнорируют различия между часовыми линиями - PullRequest
2 голосов
/ 04 апреля 2011

Я ищу возможный способ обойти некоторые конфликты слияния при работе через разные ветви.

Маловероятно, что некоторая информация в некоторых файлах (особенно номера версий) НЕ будет распространяться по разным ветвям, поэтому я ищу какой-нибудь способ для вывода текста, игнорирующего diff, между четко определенными линиями дозорного хотел бы знать, есть ли что-нибудь вокруг, не кодируя мое собственное решение.

Это то, что я хотел бы: предположим, два исходных файла, которые выглядят как

some text
DIFF_IGNORE_START
foo bar
DIFF_IGNORE_END
some other text
one

и

some text
DIFF_IGNORE_START
different text
DIFF_IGNORE_END
some other text
two

Я хочу, чтобы разность была

--- original    2011-04-04 15:34:06.000000000 +0200
+++ modified    2011-04-04 15:35:13.000000000 +0200
@@ -3,4 +3,4 @@
 foo bar
 DIFF_IGNORE_END
 some other text
-one
+two

Мне нужно решение, которое позволяет игнорируемым блокам также иметь другой размер.

1 Ответ

0 голосов
/ 04 апреля 2011

Один из способов реализовать это - использовать пользовательский драйвер diff , объявив специальный скрипт diff в файле .gitattributes, который будет:

  • удаляет каждые DIFF_IGNORE_xxx разделы в корневой, исходной и целевой версиях, заменяя их фиктивным контентом (всегда идентичным для трех версий)
  • выполнить сравнение с модифицированными версиями
...