Re: [1.8.0] Provide proper remote ref namespaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]