]> git.ipfire.org Git - thirdparty/git.git/commitdiff
contrib/git-resurrect.sh: use hash-agnostic OID pattern
authorDenton Liu <liu.denton@gmail.com>
Thu, 8 Oct 2020 06:44:40 +0000 (23:44 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 8 Oct 2020 18:48:56 +0000 (11:48 -0700)
Since Git now supports hashes other than SHA-1, the hash length isn't
guaranteed to be 40 characters. Replace $_x40 with a hash-agnostic OID
pattern.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/git-resurrect.sh

index 57a77c03f982dd10a6d4e8ddc923253c73441334..d843df3afd0ec490102860c57621a6bc7295abdc 100755 (executable)
@@ -37,19 +37,18 @@ search_reflog_merges () {
        )
 }
 
-_x40="[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]"
-_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
+oid_pattern=$(git hash-object --stdin </dev/null | sed -e 's/./[0-9a-f]/g')
 
 search_merges () {
        git rev-list --all --grep="Merge branch '$1'" \
                --pretty=tformat:"%P %s" |
-       sed -ne "/^$_x40 \($_x40\) Merge .*/ {s//\1/p;$early_exit}"
+       sed -ne "/^$oid_pattern \($oid_pattern\) Merge .*/ {s//\1/p;$early_exit}"
 }
 
 search_merge_targets () {
        git rev-list --all --grep="Merge branch '[^']*' into $branch\$" \
                --pretty=tformat:"%H %s" --all |
-       sed -ne "/^\($_x40\) Merge .*/ {s//\1/p;$early_exit} "
+       sed -ne "/^\($oid_pattern\) Merge .*/ {s//\1/p;$early_exit} "
 }
 
 dry_run=