У меня есть репозиторий Git, из которого мне нужно создать файл патча в формате, отличном от формата git diff
по умолчанию.Мой пример использования - у меня старая неуклюжая машина OSF / 1, на которой мне нужно применить патч, и программа /bin/patch
не понимает унифицированных различий.
Если я использую GIT_EXTERNAL_DIFF=diff
, надеясь, что затем я смогу использовать GIT_DIFF_OPTS=-c
для запроса diff формата контекста, моя (современная) программа diff
жалуется на дополнительные аргументы в своей командной строке:
diff: extra operand `373e5907b789a1398a91f4ceb4ab14e8a0ed4282'
diff: Try `diff --help' for more information.
external diff died, stopping at [filename].
Установка GIT_EXTERNAL_DIFF=echo
показывает, чтоGit, кажется, запускает внешнюю программу сравнения с:
$GIT_EXTERNAL_DIFF <file2> <file1> <hash> <mode> <tmpfilename> <hash> <mode>
Это сбивает с толку diff
, который не хочет дополнительных аргументов.Есть ли простой способ указать git diff
создать diff-формат в старом стиле?
(Мой текущий план - написать однострочный сценарий оболочки, который вызывает реальный diff
просто$1 $2
, но я надеюсь, что есть более неловкий путь.)