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

Re: How to create tags outside of refs/tags?

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 22, 2011, 18:38 UTC
Message-ID
<7v7hcrewyz.fsf@alter.siamese.dyndns.org>
In-Reply-To
<AANLkTinTj7BehKYc15jbQzMq+q=2CfLvzTkGSJ-Ps-FH@mail.gmail.com>
Christian Halstrick <christian.halstrick@gmail.com> writes:
Show 16 quoted lines
> I am not sure whether what is discussed now is really solving my
> problem best. Maybe I rephrase again the problem I have:
> I just want to make sure that certain commits are not garbage
> collected. And the artefacts I create to ensure that should not
> pollute the namespace of developer-created tags/branches. Is creating
> a tag and then hiding it again really the best solution for that?
>
> Here is some background: there is a tool developed in our company which
> helps teams to release their git-controlled products. The release tool
> gets as input just a commit ID. Whenever the release tool has
> succesfully done his work on a product it wants to make sure the this
> commit will never be garbage collected. Even not if month's later the
> product owner resets all their branches making the released commits
> beeing unreachable. And since some projects may run a lot of attempts
> until they finally released some stuff we don't to have our tags
> namespace to be polluted with too many attempt-to-release tags.

How about taking advantage of the fact that you do not have to treat tag namespace as a global thing? For the "release tool" to "get a commit ID" and do something useful, the "release tool" must be working on a git repository, and hopefully that repository is something other than the ones developers directly play with (by checking out random branches in its working tree and compiling, etc.).

You can run "git tag" in that "release tool" repository, and if you do not want to show that to others, never let developers fetch tags from there.

I would think that using a private namespace other than tags for your own use (e.g. "git update-ref refs/anchor/release-20110222 $that_commit") may be the best option that is easiest to understand, though.

Previous: Christian HalstrickNext: Christian Halstrick
Message 11 of 16 in “How to create tags outside of refs/tags?”
  1. Christian HalstrickFeb 21, 2011
  2. Jay SoffianFeb 21, 2011
  3. Junio C HamanoFeb 21, 2011
  4. Christian HalstrickFeb 22, 2011
  5. Jeff KingFeb 22, 2011
  6. Junio C HamanoFeb 22, 2011
  7. Jeff KingFeb 22, 2011
  8. Jakub NarebskiFeb 22, 2011
  9. Jeff KingFeb 22, 2011
  10. Christian HalstrickFeb 22, 2011
  11. Junio C HamanoFeb 22, 2011
  12. Christian HalstrickFeb 22, 2011
  13. Michael J GruberFeb 23, 2011
  14. Christian HalstrickFeb 23, 2011
  15. Enrico WeigeltFeb 23, 2011
  16. Jay SoffianFeb 22, 2011

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.