LINUX.ORG.RU

Свой git diff с блэкджеком и хэш суммами

 ,


0

3

Всем привет. Почти дописал утилиту по генерации картинок из схемотехнических файлов. Теперь чтобы это все имело какую-то пользу решил реализовать такую идею - переопределить правило для diff *.sch файлов.

Итого имеем следующий скрипт

# Вызов: ./kicad-diff.sh path old-file old-hex old-mode new-file new-hex new-mode
# где:                                           
#   path - имя файла 
#   <old|new>-file - старая и новая версия файла
#   <old|new>-hex - SHA1-хеши из 40 шестнадцатеричных цифр
#   <old|new>-mode - восьмеричное представление прав доступа для файлов
echo "1 $1"
echo "2 $2"
echo "3 $3"
echo "4 $4"
echo "5 $5"
echo "6 $6"
echo "7 $7"

Теперь посмотрим что же приходит на вход скрипта который вызывается вместо diff

git diff 6d7120237970547924b1b9c25cd219cdde5f8a4a e10d6cf9cf236153af544ef1e07d29fdc98ab7c4 some.txt
1 some.txt
2 /tmp/qJh4Ax_some.txt
3 9f4c7c7d9531e0471f27325f82d30a3929d85287
4 100644
5 /tmp/0JaZxx_some.txt
6 d50a7347222059aebed8d1ead994397d8df94036
7 100644

Теперь вопрос как из 9f4c7c7d9531e0471f27325f82d30a3929d85287 получить номер коммита 6d7120237970547924b1b9c25cd219cdde5f8a4a Или же этот параметр связан с конкретным файлом(some.txt) и узнать номер коммита попросту не получится?

Описание параметра old-hex - <old|new>-hex are the 40-hexdigit SHA-1 hashes,

★★★★