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

Re: git-fetch: default globally to --no-tags

From
Jeff King <peff@peff.net>
Date
Nov 19, 2014, 20:32 UTC
Message-ID
<20141119203208.GA11053@peff.net>
In-Reply-To
<xmqqa93nrldf.fsf@gitster.dls.corp.google.com>
On Wed, Nov 19, 2014 at 12:22:36PM -0800, Junio C Hamano wrote:
Show 11 quoted lines
> With a separate local-tags hierarchy, the look-up part still has to
> be enhanced.  After doing "git tag v2.0" and "git tag -l snapshot00",
> you would want to be able to say "git log snapshot00..v2.0" and have
> these found.
> 
> If you don't allow a private local-tags hierarchy, then those who
> make releases are burdened to be very careful not to contaminate
> their public repository --- "git tag snapshot00" cannot be used by
> them lightly just to mark their private state, if their day
> typically is concluded with "git push --follow-tags", as that will
> push out the "tags" that are meant to be private.

It's not that I want to disallow a private local-tags hierarchy. It's just that I consider it a completely orthogonal feature. In other words, the problem of tags in a global namespace is not solved at all by local-tags. It just helps people keep things out of the global namespace that they did not want to be there in the first place[1]. It does nothing for viewers who need to coalesce multiple global tag namespaces (either from multiple projects, or "proposals" of global tags they have pulled in from other non-canonical repositories).

Show 7 quoted lines
> > But the superproject is pulling them both together; if it uses
> > refs/tags, the global namespaces will clash. Instead, it would be more
> > convenitn to have refs/remotes/project1/tags and so on.
> 
> Yeah, but isn't it an orthogonal issue?  refs/tags/project{1,2}/*
> would be what I would recommend to use for "global" stuff whose
> purpose is to give people a shared world view.

How do they get that split? They cannot use tag auto-following, which puts the tags in the global refs/tags.

Certainly it can be done with git _today_ by setting up the appropriate refspecs. I think this is more about making things useful out of the box.

-Peff
[1] I am actually not convinced that the mixing of local and global tags
    is a huge problem in practice. We do not push tags by default, so
    local tags tend to stay local. OTOH, I think the world would be a
    better place if "git push --follow-tags" were the default, which
    would entail somehow separating global from local tags.
Previous: Junio C Hamano
Message 6 of 6 in “git-fetch: default globally to --no-tags”
  1. Brian NorrisNov 19, 2014
  2. Jeff KingNov 19, 2014
  3. Junio C HamanoNov 19, 2014
  4. Jeff KingNov 19, 2014
  5. Junio C HamanoNov 19, 2014
  6. Jeff KingNov 19, 2014

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.