Специальный инструмент сравнения для файлов одного типа в git с информацией о заголовке, похожей на git-diff - PullRequest
1 голос
/ 16 октября 2019

Так что мне нужно сравнить множество jsons, и для этого я использую пакет nson json-diff, который генерирует хороший diff для jsons, но печатает только diff. Я хотел бы добавить это к стандартному заголовку git diff, сообщающему мне о переименовании, режиме файла (не должен изменяться, но может произойти случайно) и т. Д .:

diff --git a/license.mk b/license.mk
old mode 100644
new mode 100755
index ee34415..0d95c00
--- a/license.mk
+++ b/license.mk

Я нашел этот вопрос ТАК: Как просмотреть вывод 'git diff' с помощью моего предпочтительного инструмента сравнения / средства просмотра? , и можно было бы интегрировать json-diff с помощью .gitattributes

*.json diff=json-diff

и gitconfig:

[diff "json-diff"]
    command = json-diff-wrapper.sh

Этот скрипт-обертка в основном принимает 7 входных аргументов и передает $ 2 и $ 5 в json-diff. Но я хотел бы напечатать тот же заголовок, и я запутался, откуда он берет имена файлов, так как один из двух файлов всегда находится в / tmp, но имя файла начинается с хэша, поэтому я не могу просто использовать basename $ 2 и basename$ 5. Есть ли способ как-нибудь получить эту информацию из git diff? Или я должен использовать другой способ упаковки вызова?

Кроме того, какой файл является локальным, а какой - удаленным? $ 2 кажется удаленным

...