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