# fast-forwarding tags

2 messages from 2013-09-25 to 2013-09-25. Participants: Michael S. Tsirkin, Jonathan Nieder.
Thread: https://gitlist.dev/t/35015

## Michael S. Tsirkin, 2013-09-25 11:36

Subject: fast-forwarding tags
Message-ID: <20130925113651.GA19023@redhat.com>
URL: https://gitlist.dev/e/20130925113651.GA19023%40redhat.com

```
Hi!
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?

-- 
MST

```

## Jonathan Nieder, 2013-09-25 19:28

Subject: Re: fast-forwarding tags
Message-ID: <20130925192820.GZ9464@google.com>
URL: https://gitlist.dev/e/20130925192820.GZ9464%40google.com
In-Reply-To: <20130925113651.GA19023@redhat.com>

```
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

```
