Re: Pulling tags from git.git
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:21
Andreas Ericsson [off-list ref] writes:
Imagine Linus, getting his "please pull" emails and doing so only to find dozens of temporary tags fetched by the pull. Junio's patch (if I read it correctly) unconditionally fetches *ALL* tags reachable from the top of the commit-chain, which means there is no longer any way to keep temporary tags in a repo from which someone else will pull.
I thought we made fetch made by such a promiscous pull not to follow tags, so that wouldn't be a problem. Tag following is only to happen when you track other's branches. That is: $ git pull git://git.kernel.org/pub/scm/git/git.git master would store my "master" branch tip only in your .git/FETCH_HEAD and you merge it immediately, without following my tags, while: $ git pull git://git.kernel.org/pub/scm/git/git.git master:origin (which is what you get by "git pull" without arguments) would follow my tags, because you are storing the branch head into your local branch "origin".
I for one riddle my repos with temporary tags whenever I'm trying something I'm not so sure of, or find an interesting bug or a design decision I'm not 100% sure of. Perhaps I should rather do this with branches, but imo branches are for doing work, whereas tags just mark a spot in the development so I easily can find them with gitk or some such.
I also have many throwaway unannotated tags. Whenever I have a
WIP that I want to split up or reorder, I tag the tip of that
topic branch with "git tag anchor-blah" tag, rewind the tip to
the commit before the one I want to redo, and then do this
repeatedly:
$ git diff -R anchor-blah >P.diff
$ ... edit P.diff to keep the part I want to apply first
$ git apply --index P.diff
$ ... maybe edit a bit further
$ git commit
until there is no difference between the rewound-and-redone tip
and anchor-blah other than whatever clean-ups I do during the
above cycle. Propagating such throw-away tags is not very
useful. And I think it is reasonable to say that throw-away
tags tend to be unannotated.