On Mon, Feb 22, 2010 at 7:44 AM, Avi Kivity <avi@xxxxxxxxxx> wrote: > Currently, 'git remote add foo ...' will allocate a separate namespace for > foo branches (refs/remotes/foo/*) but will store foo tags in the main tag > namespace (refs/tags/*). This leads to several problems: > > - the main tag namespace becomes polluted with zillions of tags > - if the tags from a remote conflict with a local (or perhaps another > remote) tag, information is lost > - 'git remote rm' will not delete the remote tags, and so 'git gc' will not > recover much of the space used by the remote I've sometimes wished for such a feature myself. When merging things using git-subtree, for example, you can easily end up importing "v1.2.3" type tags from two different projects and causing yourself total confusion. However, just dividing the tags into namespaces removes one of the nicest features of tags, which is that they uniquely identify a particular revision across all repositories. The whole point is that ap/v1.2.3 isn't ever supposed to differ from origin/v1.2.3. One option would be to split the tags into namespaces, but then automatically search all namespaces when looking for a particular tag. Then when you drop a particular remote, you'd lose all its tags, but if you *don't* drop that remote, things look like they always have. Have fun, Avery -- 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