filter-branch: drop $_x40 glob

When checking whether a commit was rewritten to a single object id, we use a glob that insists on a 40-hex result. This works for sha1, but fails t7003 when run with GIT_TEST_DEFAULT_HASH=sha256. Since the previous commit simplified the case statement here, we only have two arms: an empty string or a single object id. We can just loosen our glob to match anything, and still distinguish those cases (we lose the ability to notice bogus input, but that's not a problem; we are the one who wrote the map in the first place, and anyway update-ref will complain loudly if the input isn't a valid hash). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Mar 10, 2021 at 12:07 UTC 42efa1231aee85932058cc6d1571ab4ceb3e7eff
1 file changed +1 -6
git-filter-branch.sh
+1 -6
@@ -498,8 +498,6 @@ fi
498
499 # Finally update the refs
500
501 -_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
502 -_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
501 echo
502 while read ref
503 do
@@ -519,7 +517,7 @@ do
517 git update-ref -m "filter-branch: delete" -d "$ref" $sha1 ||
518 die "Could not delete $ref"
519 ;;
522 - $_x40)
520 + *)
521 echo "Ref '$ref' was rewritten"
522 if ! git update-ref -m "filter-branch: rewrite" \
523 "$ref" $rewritten $sha1 2>/dev/null; then
@@ -533,9 +531,6 @@ do
531 fi
532 fi
533 ;;
536 - *)
537 - die "BUG: multiple ancestors in map file?"
538 - ;;
534 esac
535 git update-ref -m "filter-branch: backup" "$orig_namespace$ref" $sha1 ||
536 exit