Thread (7 messages) flat view 7 messages, 4 authors, 2016-06-15

Re: git filter-branch doesn't dereference annotated tags

From: Brandon Casey <hidden>
Date: 2016-06-15 22:55:39

On Thu, Jan 3, 2013 at 2:33 AM, Johannes Sixt [off-list ref] wrote:
Am 03.01.2013 10:50, schrieb Grégory Pakosz:
quoted
quoted
IOW, if the command was something like

  git filter-branch ...filter options... -- v1.0 master ...

and v1.0 is an annotated tag, then it is reasonable to expect v1.0 to be
deleted if the commit it points to goes away. But if the commit did not
go away, but was rewritten, then it is equally reasonable to expect that
the tag is also rewritten. But I don't think that we currently do the
latter.
When the commit doesn't go away, the tag is currently being rewritten properly.
Indeed, but only if a --tag-name-filter was specified.
quoted
quoted
Therefore, IMO, a change that implements the former behavior should also
implement the latter behavior.
The patch in my latest email does both. (yet lacks unit tests for now)
If it deletes a tag only when --tag-name-filter was specified, than that
should be fine.
Hmm, if a tag name filter _other_ than 'cat' is supplied, I think a
user will expect that the original tags will _not_ be touched, and
especially not deleted.

Rather than blindly deleting the original tag ref, maybe we should
still call the user's tag name filter, and then attempt to delete the
"new" name provided by the filter, if it exists.  If the filter was
'cat', then the new and old names will be the same.

-Brandon
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help