Browse Source

filter-branch: be more helpful when an annotated tag changes

Previously, git-filter-branch failed if it attempted to update an
annotated tag.  Now we ignore this condition if --tag-name-filter is
given, so that we can later rewrite the tag.  If no such option was
provided, we warn the user that he might want to run with
"--tag-name-filter cat" to achieve the intended effect.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Thomas Rast 17 years ago committed by Junio C Hamano
parent
commit
261044e85d
  1. 14
      git-filter-branch.sh

14
git-filter-branch.sh

@ -361,9 +361,17 @@ do
;; ;;
$_x40) $_x40)
echo "Ref '$ref' was rewritten" echo "Ref '$ref' was rewritten"
git update-ref -m "filter-branch: rewrite" \ if ! git update-ref -m "filter-branch: rewrite" \
"$ref" $rewritten $sha1 || "$ref" $rewritten $sha1 2>/dev/null; then
die "Could not rewrite $ref" if test $(git cat-file -t "$ref") = tag; then
if test -z "$filter_tag_name"; then
warn "WARNING: You said to rewrite tagged commits, but not the corresponding tag."
warn "WARNING: Perhaps use '--tag-name-filter cat' to rewrite the tag."
fi
else
die "Could not rewrite $ref"
fi
fi
;; ;;
*) *)
# NEEDSWORK: possibly add -Werror, making this an error # NEEDSWORK: possibly add -Werror, making this an error

Loading…
Cancel
Save