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

[PATCH 0/4] forbid HEAD as a tagname

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 2, 2024, 07:07 UTC
Message-ID
<20241202070714.3028549-1-gitster@pobox.com>

So, here is a cleaned up version, which ended up to be a 4-patch series.

 - The first two steps move code around to get rid of the "strbuf_"
   prefix from three misnamed helper functions that are more about
   refs than they are about string manipulation operations.  We now
   have:
   - copy_branchname() that copies a branchname while applying
     interpret_branch_name() like @{-1} for previous branch, @{u}
     for upstream, etc.
   - check_branch_ref() and check_tag_ref() that are allowed to be a
     bit stricter than check_refname_format(), e.g., to reject "HEAD"
     as the name of a branch or a tag.
 - The third step updates a test that assumes HEAD can be usable as
   the name of a tag, but the breakage the test tries to protect is
   not specific to any tagname.
 - The final step then forbids "git tag" from using "HEAD" as the
   name of a tag.
Junio C Hamano (4):
  refs: move ref name helpers around
  refs: drop strbuf_ prefix from helpers
  t5604: do not expect that HEAD is a valid tagname
  tag: "git tag" refuses to use HEAD as a tagname
 branch.c                   |  2 +-
 builtin/branch.c           | 10 ++++----
 builtin/check-ref-format.c |  2 +-
 builtin/checkout.c         |  2 +-
 builtin/merge.c            |  2 +-
 builtin/tag.c              | 13 +----------
 builtin/worktree.c         |  8 +++----
 gitweb/gitweb.perl         |  2 +-
 object-name.c              | 36 -----------------------------
 refs.c                     | 47 ++++++++++++++++++++++++++++++++++++++
 refs.h                     | 29 +++++++++++++++++++++++
 strbuf.h                   | 22 ------------------
 t/t5604-clone-reference.sh |  6 ++---
 t/t7004-tag.sh             |  6 +++++
 14 files changed, 100 insertions(+), 87 deletions(-)
-- 
2.47.1-514-g9b43e7ecc4
Next: Junio C Hamano
Message 1 of 22 in “forbid HEAD as a tagname”
  1. 0/4 forbid HEAD as a tagnameJunio C Hamano, Dec 2, 2024
  2. 1/4 refs: move ref name helpers aroundJunio C Hamano, Dec 2, 2024
  3. Jeff KingDec 2, 2024
  4. Junio C HamanoDec 3, 2024
  5. 2/4 refs: drop strbuf_ prefix from helpersJunio C Hamano, Dec 2, 2024
  6. Jeff KingDec 2, 2024
  7. 3/4 t5604: do not expect that HEAD is a valid tagnameJunio C Hamano, Dec 2, 2024
  8. Kristoffer HaugsbakkDec 2, 2024
  9. Jeff KingDec 2, 2024
  10. Kristoffer HaugsbakkDec 2, 2024
  11. Junio C HamanoDec 3, 2024
  12. Jeff KingDec 5, 2024
  13. Jeff KingDec 2, 2024
  14. 4/4 tag: "git tag" refuses to use HEAD as a tagnameJunio C Hamano, Dec 2, 2024
  15. Patrick SteinhardtDec 2, 2024
  16. shejialuoDec 2, 2024
  17. Junio C HamanoDec 3, 2024
  18. Jeff KingDec 5, 2024
  19. Jeff KingDec 5, 2024
  20. Rubén JustoDec 2, 2024
  21. Junio C HamanoDec 3, 2024
  22. Jeff KingDec 2, 2024

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.