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

Re: [PATCH] We do not like "HEAD" as a new branch name

From
HAH. Peter Anvin <hpa@zytor.com>
Date
Dec 15, 2005, 16:27 UTC
Message-ID
<43A19962.2000202@zytor.com>
In-Reply-To
<Pine.LNX.4.63.0512151244230.22400@wbgn013.biozentrum.uni-wuerzburg.de>
Johannes Schindelin wrote:
> This makes git-check-ref-format fail for "HEAD". Since the check is only
> executed when creating refs, the existing symbolic ref is safe.
Show 15 quoted lines
> diff --git a/refs.c b/refs.c
> index bda45f7..293bfe7 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -332,6 +332,11 @@ int check_ref_format(const char *ref)
>  		if (ch == '.' || bad_ref_char(ch))
>  			return -1;
>  
> +		/* do not allow "HEAD" as ref name */
> +		if (ch == 'H' && (!strcmp(cp, "EAD") ||
> +					!strncmp(cp, "EAD/", 4)))
> +			return -1;
> +
>  		/* scan the rest of the path component */
>  		while ((ch = *cp++) != 0) {
If you're have to open-code it, you might want to just do it all the way:
if (ch == 'H' && cp[0] == 'E' && cp[1] == 'A' && cp[2] == 'D' &&
     (cp[3] == '\0' || cp[3] == '/'))
	-hpa
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 2 of 10 in “We do not like "HEAD" as a new branch name”
  1. We do not like "HEAD" as a new branch nameJohannes Schindelin, Dec 15, 2005
  2. H. Peter AnvinDec 15, 2005
  3. Johannes SchindelinDec 15, 2005
  4. Alex RiesenDec 15, 2005
  5. Junio C HamanoDec 15, 2005
  6. Johannes SchindelinDec 15, 2005
  7. Junio C HamanoDec 15, 2005
  8. Johannes SchindelinDec 16, 2005
  9. Junio C HamanoDec 16, 2005
  10. Johannes SchindelinDec 16, 2005

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.