From: Johannes Schindelin Date: Fri, 16 Dec 2005 01:40:25 +0000 (+0100) Subject: We do not like "HEAD" as a new branch name X-Git-Tag: v1.0.0^2~32 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=ee34518d629331dadd58b1a75294369d679eda8b;p=git.git We do not like "HEAD" as a new branch name This makes git-check-ref-format fail for "HEAD". Since the check is only executed when creating refs, the existing symbolic ref is safe. Otherwise these commands, most likely are pilot errors, would do pretty funky stuff: git checkout -b HEAD git pull . other:HEAD Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/refs.c b/refs.c index d2aec73e..b8fcb98d 100644 --- a/refs.c +++ b/refs.c @@ -345,6 +345,11 @@ int check_ref_format(const char *ref) if (!ch) { if (level < 2) return -1; /* at least of form "heads/blah" */ + + /* do not allow ref name to end in "HEAD" */ + if (cp - ref > 4 && !strcmp(cp - 4, "HEAD")) + return -1; + return 0; } }