Hi Peff, On Wed, Apr 03, 2019 at 09:57:44PM -0400, Jeff King wrote: > On Wed, Apr 03, 2019 at 09:38:02AM -0500, Robert Dailey 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. Agreed. I think that the implement is a little different than "add a --no-edit" flag, though. 'git tag' already has a OPT_BOOL for '--edit', which means that '--no-edit' exists, too. But, when we look and see how the edit option is passed around, we find that the check whether or not to launch the editor (again, in builtin/tag.c within 'create_tag()') is: if (!opt->message_given || opt->use_editor) So, it's not that we didn't take '--no-edit', it's that we didn't get a _message_, so we'll open the editor to get one (even if '--no-edit' was given). This makes me think that we should do two things: 1. Make !opt->message_give && !opt->use_editor an invalid invocation. If I (1) didn't give a message but I did (2) give '--no-edit', I'd expect a complaint, not an editor window. 2. Then, do what Robert suggests, which is to "make opt->message_given true", by re-using the previous tag's message. > I think it wouldn't be very hard to implement, either. Maybe a good > starter project or #leftoverbits for somebody. Maybe. I think that it's made a little more complicated by the above, but it's certainly doable. Maybe good for GSoC? > -Peff Thanks, Taylor