Re: Why aren't tag refs namespaced?
From: Nathan Gray <hidden>
Date: 2016-06-15 22:53:40
CC'ing the list On Thu, Apr 26, 2012 at 12:04 PM, Phil Hord [off-list ref] wrote:
On Thu, Apr 26, 2012 at 2:40 PM, Nathan Gray [off-list ref] wrote:quoted
Namespacing works really well for branch refs. I know that remotes/origin/master is origin's master branch. I may or may not have a master branch, and it may or may not have anything in common with origin's. Our repositories are independent, after all, so it makes sense that our refs would live in different namespaces. So why is it that tag refs don't follow this model?I expect the simple answer is that no one has been motivated to create such a mode.quoted
Why is my "best-commit-ever" tag assumed to be the same as origin's? Given a ref in refs/tags it's unclear if the ref is public, private, on origin or not on origin. Will pushing my tags create anything new or not? Who knows? Compare this to branches, where the same questions are easy to answer thanks to namespacing. OTOH, am I just not "getting it?" I've been using git for about 4 years now and I feel like I know it pretty well but it's possible I'm just misunderstanding things.Tags are presumed not to move, so there's no point in having a remote tag which you follow with your local tag. In that sense, they are fundamentally different from branches. Also, tags are not pushed by default, though they are fetched if they're on branches you are fetching.
All that is true, but...
On the other hand, it does invite namespace collisions if you pull tags from a remote whilst having local tags and no agreed-upon convention.
Exactly! Imagine tracking 5 different forks of the same project on GitHub. They can't be expected to coordinate their tagging conventions.
But perhaps a convention is what you need. Suppose you name all your local tags "refs/tags/n8gray/best-commit-ever"? Or maybe you can 'git fetch origin "refs/tags/*:refs/tags/origin/*"'.
That could probably be made to work, but it requires a fair bit of effort to keep clean. Plus you have to make sure you never accidentally use the built-in tag pushing/pulling stuff or it all falls apart. Cheers, -n8 -- HexaLex: A New Angle on Crossword Games for iPhone and iPod Touch http://hexalex.com On The App Store: http://bit.ly/8Mj1CU On Facebook: http://bit.ly/9MIJiV On Twitter: http://twitter.com/hexalexgame http://n8gray.org