[PATCH 3/3] filter-branch: drop $_x40 glob
From: Jeff King <hidden>
Date: 2021-03-10 17:08:12
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- git-filter-branch.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index a1e80bd552..cb89372813 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh@@ -498,8 +498,6 @@ fi # Finally update the refs -_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" echo while read ref do
@@ -519,7 +517,7 @@ do git update-ref -m "filter-branch: delete" -d "$ref" $sha1 || die "Could not delete $ref" ;; - $_x40) + *) echo "Ref '$ref' was rewritten" if ! git update-ref -m "filter-branch: rewrite" \ "$ref" $rewritten $sha1 2>/dev/null; then
@@ -533,9 +531,6 @@ do fi fi ;; - *) - die "BUG: multiple ancestors in map file?" - ;; esac git update-ref -m "filter-branch: backup" "$orig_namespace$ref" $sha1 || exit
--
2.31.0.rc2.525.gc2268d2248