summaryrefslogtreecommitdiff
path: root/builtin-symbolic-ref.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-02-05 19:40:35 -0800
committerJunio C Hamano <gitster@pobox.com>2009-02-05 19:40:35 -0800
commit74b11bc3beca489502d0840e4c558a5fcc44e145 (patch)
treed6e2cf81a929f48ae694df74fcea7b8c238027d2 /builtin-symbolic-ref.c
parentb371922aa5b972557cd143461250a9d360882285 (diff)
parentafe5d3d516114f08d3c4289682a704f5a7889909 (diff)
downloadgit-74b11bc3beca489502d0840e4c558a5fcc44e145.tar.gz
Merge branch 'jk/head-symref'
* jk/head-symref: symbolic ref: refuse non-ref targets in HEAD validate_headref: tighten ref-matching to just branches
Diffstat (limited to 'builtin-symbolic-ref.c')
-rw-r--r--builtin-symbolic-ref.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin-symbolic-ref.c b/builtin-symbolic-ref.c
index bfc78bb3f6..cafc4eba7c 100644
--- a/builtin-symbolic-ref.c
+++ b/builtin-symbolic-ref.c
@@ -44,6 +44,9 @@ int cmd_symbolic_ref(int argc, const char **argv, const char *prefix)
check_symref(argv[0], quiet);
break;
case 2:
+ if (!strcmp(argv[0], "HEAD") &&
+ prefixcmp(argv[1], "refs/heads/"))
+ die("Refusing to point HEAD outside of refs/heads/");
create_symref(argv[0], argv[1], msg);
break;
default: