Re: Feature request: Add --no-edit to git tag command
- Date: Thu, 4 Apr 2019 08:01:08 -0400
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: Feature request: Add --no-edit to git tag command
On Thu, Apr 04, 2019 at 06:13:16PM +0900, Junio C Hamano wrote:
> >> Similar to git commit, it would be nice to have a --no-edit option for
> >> git tag. Use case is when I force-recreate a tag:
> >> $ git tag -af 1.0 123abc
> >> An editor will be prompted with the previous annotated tag message. I
> >> would like to add --no-edit to instruct it to use any previously
> >> provided message and without prompting the editor:
> >> $ git tag --no-edit -af 1.0 123abc
> > Yeah, that sounds like a good idea.
> I am not so sure this is a good idea, especially if the plan is to
> do this alone without necessary associated change to make things
I think I may have misunderstood the request.
I thought it was "we already do this re-use the tag message thing, but
--no-edit is broken". And the proposal was to fix --no-edit. Which is
definitely broken, and it seems like a no-brainer to fix.
But looking at the code, yeah, I see that we do not do that. The
proposal is to implement both halves. And...
> The part that bothers me most is use of "-f". The mentalitly behind
> "-f" is "I am creating a new and tag that is totally unrelated to
> any existing tag, but since the command refuses to reuse the ref to
> point at my new tag, I am giving an '-f' to force (1) unpointing the
> existing unrelated tag and (2) pointing the enwly created tag with
> that tagname".
> The proposed change still uses "-f" but wants to somehow take the
> tag message from the unrelated tag that happens to sit at the same
> place as the new tag wants to go. That breaks the mental model a
> big way.
> If this were a new option that is spelled "--amend", I won't
> be complaining, though.
Yes, I agree with all of this. Calling it "--amend" is much better
(and/or adding the equivalent of "commit -c" to pick up the message from
an existing tag, though maybe "--amend existing-name new-target" would
be enough to repoint a tag with the same name).