Так что мне нужно сравнить множество 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 кажется удаленным