Skip to content

Commit f9c0e74

Browse files
committed
Merge branch 'dl/resurrect-update-for-sha256'
"git resurrect" script (in contrib/) learned that the object names may be longer than 40-hex depending on the hash function in use. * dl/resurrect-update-for-sha256: contrib/git-resurrect.sh: use hash-agnostic OID pattern contrib/git-resurrect.sh: indent with tabs
2 parents c8b7c02 + e37eae0 commit f9c0e74

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

contrib/git-resurrect.sh

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ n,dry-run don't recreate the branch"
2727

2828
search_reflog () {
2929
sed -ne 's~^\([^ ]*\) .* checkout: moving from '"$1"' .*~\1~p' \
30-
< "$GIT_DIR"/logs/HEAD
30+
< "$GIT_DIR"/logs/HEAD
3131
}
3232

3333
search_reflog_merges () {
@@ -37,19 +37,18 @@ search_reflog_merges () {
3737
)
3838
}
3939

40-
_x40="[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]"
41-
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
40+
oid_pattern=$(git hash-object --stdin </dev/null | sed -e 's/./[0-9a-f]/g')
4241

4342
search_merges () {
44-
git rev-list --all --grep="Merge branch '$1'" \
45-
--pretty=tformat:"%P %s" |
46-
sed -ne "/^$_x40 \($_x40\) Merge .*/ {s//\1/p;$early_exit}"
43+
git rev-list --all --grep="Merge branch '$1'" \
44+
--pretty=tformat:"%P %s" |
45+
sed -ne "/^$oid_pattern \($oid_pattern\) Merge .*/ {s//\1/p;$early_exit}"
4746
}
4847

4948
search_merge_targets () {
5049
git rev-list --all --grep="Merge branch '[^']*' into $branch\$" \
5150
--pretty=tformat:"%H %s" --all |
52-
sed -ne "/^\($_x40\) Merge .*/ {s//\1/p;$early_exit} "
51+
sed -ne "/^\($oid_pattern\) Merge .*/ {s//\1/p;$early_exit} "
5352
}
5453

5554
dry_run=

0 commit comments

Comments
 (0)