X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=refs.c;h=d01fc3984a56e288e175f8201783f18dfe978c10;hb=39c015c556f285106931e0500f301de462b0e46e;hp=b8fcb98dad976c529dcccbaf592f567931b9a360;hpb=ee34518d629331dadd58b1a75294369d679eda8b;p=git.git diff --git a/refs.c b/refs.c index b8fcb98d..d01fc398 100644 --- a/refs.c +++ b/refs.c @@ -6,10 +6,6 @@ /* We allow "recursive" symbolic refs. Only within reason, though */ #define MAXDEPTH 5 -#ifndef USE_SYMLINK_HEAD -#define USE_SYMLINK_HEAD 1 -#endif - const char *resolve_ref(const char *path, unsigned char *sha1, int reading) { int depth = MAXDEPTH, len; @@ -80,7 +76,7 @@ int create_symref(const char *git_HEAD, const char *refs_heads_master) char ref[1000]; int fd, len, written; -#if USE_SYMLINK_HEAD +#ifdef USE_SYMLINK_HEAD if (!only_use_symrefs) { unlink(git_HEAD); if (!symlink(refs_heads_master, git_HEAD)) @@ -313,7 +309,9 @@ int write_ref_sha1(const char *ref, int fd, const unsigned char *sha1) static inline int bad_ref_char(int ch) { return (((unsigned) ch) <= ' ' || - ch == '~' || ch == '^' || ch == ':'); + ch == '~' || ch == '^' || ch == ':' || + /* 2.13 Pattern Matching Notation */ + ch == '?' || ch == '*' || ch == '['); } int check_ref_format(const char *ref) @@ -345,11 +343,6 @@ 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; } }