File tree 1 file changed +15
-2
lines changed
1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,9 @@ REVSIG_ALLOWED=$(cat "${DIR}/allow-revsig-commits")
14
14
15
15
HAVE_FAILED=false
16
16
17
+ HAVE_GNU_SHA512=1
18
+ [ ! -x " $( which sha512sum) " ] && HAVE_GNU_SHA512=0
19
+
17
20
if [ x" $1 " = " x" ]; then
18
21
CURRENT_COMMIT=" HEAD"
19
22
else
@@ -91,16 +94,26 @@ while true; do
91
94
92
95
FILE_HASHES=" "
93
96
for FILE in $( git ls-tree --full-tree -r --name-only " $CURRENT_COMMIT " | LC_ALL=C sort) ; do
94
- HASH=$( git cat-file blob " $CURRENT_COMMIT " :" $FILE " | sha512sum | { read FIRST OTHER; echo $FIRST ; } )
97
+ if [ " $HAVE_GNU_SHA512 " = 1 ]; then
98
+ HASH=$( git cat-file blob " $CURRENT_COMMIT " :" $FILE " | sha512sum | { read FIRST OTHER; echo $FIRST ; } )
99
+ else
100
+ HASH=$( git cat-file blob " $CURRENT_COMMIT " :" $FILE " | shasum -a 512 | { read FIRST OTHER; echo $FIRST ; } )
101
+ fi
95
102
[ " $FILE_HASHES " != " " ] && FILE_HASHES=" $FILE_HASHES " '
96
103
'
97
104
FILE_HASHES=" $FILE_HASHES$HASH $FILE "
98
105
done
106
+
107
+ if [ " $HAVE_GNU_SHA512 " = 1 ]; then
108
+ TREE_HASH=" $( echo " $FILE_HASHES " | sha512sum) "
109
+ else
110
+ TREE_HASH=" $( echo " $FILE_HASHES " | shasum -a 512) "
111
+ fi
99
112
HASH_MATCHES=0
100
113
MSG=" $( git show -s --format=format:%B " $CURRENT_COMMIT " | tail -n1) "
101
114
102
115
case " $MSG -" in
103
- " Tree-SHA512: $( echo " $FILE_HASHES " | sha512sum ) " )
116
+ " Tree-SHA512: $TREE_HASH " )
104
117
HASH_MATCHES=1;;
105
118
esac
106
119
You can’t perform that action at this time.
0 commit comments