On Sat, Feb 05, 2011 at 02:18:44AM +0100, Johan Herland wrote: > On Friday 04 February 2011, Junio C Hamano wrote: > > > For some reason, many people seem to be enthused about splitting the tag > > namespace, but I am not sure if that is a good thing in general. > > Branches are moving pointers for people to flip around in their local > > repositories, and it makes sense to say "My master is a bit ahead of the > > public one", but what would we gain by making it _easier_ to add and > > exchange many tags with the same name (e.g. refs/remotes/*/tags/v1.7.4 > > vs refs/tags/v1.7.4), other than the extra confusion? > > First, I should state that making tags into moving pointers is not something > I support, nor is it part of this proposal. Tags should still very much > refuse to be moved (except when forced). > > Having said that, there are real situations where users encounter collisions > in the shared tag namespace. A rare (but plausible) scenario arise when two > developers create (and publish) conflicting tags in their repos. A more > common scenario that I have encountered at $dayjob, is where two parallel > (semi-related) projects are developed in separate repos (with different > versioning because of separate release schedules), and I need to interface > with both repos from a single local repo. Each of the remote repos have > their own "v1.0" tag, but my repo can only hold one such tag. Which of those > tags end up "winning" in my local repo depends on my fetch order. Well, I agree that this situation requires a better diagnostic, but I don't think that having separate namespaces is the right solution in general. For your case, where you work on semi-related projects, it is could be the right thing to do, but if you work on the same project and have more than one source to fetch, then having multiple namespaces can lead only to confusion, because tag names must be unique globally to make sense to everyone. Actually, even if you have two semi-related projects in the same repository, but you have more than one URL per project, you want to group tags based on their relation to the project and not based on the URL. Dmitry -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html