Subject: Re: fast-forwarding tags

From: Jonathan Nieder <[email-masked]>
Date: Wed, 25 Sep 2013 12:28:20 -0700

Hi,

Michael S. Tsirkin wrote:

> Linus favors one-time use signed tags, e.g. for_linus.
> Unfortunately if I push to such a tag without -f,
> I get an error ("already exists").
> Would it make sense for there to be an option that makes it behave like
> a head, and allow fast-forward?

Nah, I think I prefer keeping the safety. :)

Are you pushing with "git push --tags", "git push --follow-tags", "git
push origin tag for-linus", or "git push origin for-linus"?  It's
possible that the last two should *always* allow overwriting tags
(regardless of whether the change is a fast-forward update), though I
haven't thought it through carefully.  In the former two cases, the
check for moving an existing tag seems useful and worth preserving.

In the meantime, a command like "git push origin +for-linus" seems
like a pleasant way to get the job done.  That way, nothing bad
happens if you get distracted and forget to add the for-linus argument
(unlike "git push -f origin").

Thanks,
Jonathan