git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Feature request: separate namespace for remote tags

From
AKAvi Kivity <avi@redhat.com>
Date
Feb 22, 2010, 12:44 UTC
Message-ID
<4B827C48.9060601@redhat.com>

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

A workaround is to use tagopt = --no-tags and a separate fetch line in the remote configuration, but that is clumsy and error prone (a common error being to remember doing that only after the first fetch). I'd like to request that remote tags be placed into a separate namespace (refs/remote-tags/foo/*?) that can be managed by 'git remote' subcommands.

My suggestion is:
- 'git clone' and subsequent fetches would continue to place tags in the 
global namespace (unless overridden by a switch)
- 'git remote add', if a switch of config flag is present, will place 
tags in a remote namespace; after a while the config flag can default to 
true
- 'git describe' will prefer local tags to remote tags
- the various commands which look at tags will be enhanced to consider 
remote tag namespaces
- possibly ignore remote tags which have the same name and value as 
existing local tags (so we don't have identical v1.7.0 and foo/v1.7.0)
Thoughts?
-- 
error compiling committee.c: too many arguments to function
Next: Avery Pennarun
Message 1 of 3 in “Feature request: separate namespace for remote tags”
  1. Avi KivityFeb 22, 2010
  2. Avery PennarunFeb 22, 2010
  3. Avi KivityFeb 22, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.