Re: [PATCH] tag: add tag.createReflog option
- From
Jeff King <peff@peff.net>
- Date
- Jan 25, 2017, 18:00 UTC
- Message-ID
- <20170125180054.7mioop2o6uvqloyt@sigill.intra.peff.net>
- In-Reply-To
- <20170125001906.13916-1-cornelius.weig@tngtech.com>
On Wed, Jan 25, 2017 at 01:19:06AM +0100, cornelius.weig@tngtech.com wrote:
Show 6 quoted lines
> From: Cornelius Weig <cornelius.weig@tngtech.com> > > Git does not create a history for tags, in contrast to common > expectation to simply version everything. This can be changed by using > the `--create-reflog` flag when creating the tag. However, a config > option to enable this behavior by default is missing.
Hmm, I didn't even know we had "tag --create-reflog". Looks like it was added by 144c76fa39 (update-ref and tag: add --create-reflog arg, 2015-07-21).
IMHO it is a mistake. The "update-ref --create-reflog" variant makes sense to me as a plumbing operation. But are there end users who want to create a reflog for just _one_ tag?
As your patch shows, the more likely variant is "I want reflogs for all tags". But that raises two questions with your patch:
- yours isn't "reflogs for all tags". It's "reflogs for tags I created
with git-tag". What about other operations that create tags, like
fetching (or even just a script that uses update-ref under the
hood). IOW, instead of tag.createReflog, should this be tweaing
core.logallrefupdates to have a mode that includes tags? - Is that the end of it, or is the desire really "I want reflogs for
_everything_"? That seems like a sane thing to want. If so, then the update to core.logallrefupdates should turn it into
a tri-state:- false; no reflogs
- true; reflogs for branches, remotes, notes, as now
- always; reflogs for all refs under "refs/"
I made a lot of suppositions about your desires there, so maybe you really do want just tag.createReflog. But "core.logallrefupdates = always" sounds a lot more useful to me.
-Peff