Browse Source

contrib/git-resurrect.sh: use hash-agnostic OID pattern

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>
maint
Denton Liu 4 years ago committed by Junio C Hamano
parent
commit
e37eae0c1e
  1. 7
      contrib/git-resurrect.sh

7
contrib/git-resurrect.sh

@ -37,19 +37,18 @@ search_reflog_merges () { @@ -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=

Loading…
Cancel
Save