[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