git diff стандартизированный / нормализованный вывод - PullRequest
0 голосов
/ 27 февраля 2019

Мы работаем над проектом, в котором мы запускаем скрипт для генерации файлов патчей с git diff и / или git show.Этот файл патча затем передается в git.

По умолчанию git diff может иметь различный вывод в зависимости от локальной конфигурации git.Это вызывает нежелательный шум, если разработчик обновляет файл исправления на своем компьютере.

Примеры:

  • Другая длина хэша файлового BLOB-объекта.Это можно исправить с помощью --full-index.
  • Префиксы пути "a /" и "b /" меняются местами при работе с параметром -R (обратный дифференциал) и не указываются, если в локальной конфигурации есть diff.noprefix = true.
  • «Контекст» каждого фрагмента git: например, иногда я вижу там имя класса PHP, иногда имя функции PHP, для одного и того же diff в одном и том же проекте в разных средах.

Есть ли рекомендуемый способ гарантировать стандартный формат вывода для git diff?

(Полагаю, то же самое будет работать для git show, но давайте сосредоточимся на git diff)

1 Ответ

0 голосов
/ 27 февраля 2019

Самый простой способ сделать это - просто остановить git, загружая пользовательскую конфигурацию.Если есть официальный способ сделать это, я не знаю, но этот трюк сработает:

env HOME=/nowhere git diff
...