path: root/builtin/show-ref.c
diff options
authorVladimir Panteleev <>2017-01-23 18:00:55 (GMT)
committerJunio C Hamano <>2017-01-23 20:06:29 (GMT)
commitec7c51bc6bda0a836b4955962becedbb702bbc43 (patch)
treee79372bdd63d62e8e910007f4a416dfdaf88d20f /builtin/show-ref.c
parent787f75f0567aa8c7347544c65e9d3bc6640a27d4 (diff)
show-ref: accept HEAD with --verify
Previously, when --verify was specified, show-ref would use a separate code path which did not handle HEAD and treated it as an invalid ref. Thus, "git show-ref --verify HEAD" (where "--verify" is used because the user is not interested in seeing refs/remotes/origin/HEAD) did not work as expected. Instead of insisting that the input begins with "refs/", allow "HEAD" as well in the codepath that handles "--verify", so that all valid full refnames including HEAD are passed to the same output machinery. Signed-off-by: Vladimir Panteleev <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/show-ref.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/show-ref.c b/builtin/show-ref.c
index 6d4e669..0e53e3d 100644
--- a/builtin/show-ref.c
+++ b/builtin/show-ref.c
@@ -202,7 +202,7 @@ int cmd_show_ref(int argc, const char **argv, const char *prefix)
while (*pattern) {
struct object_id oid;
- if (starts_with(*pattern, "refs/") &&
+ if ((starts_with(*pattern, "refs/") || !strcmp(*pattern, "HEAD")) &&
!read_ref(*pattern, oid.hash)) {
if (!quiet)
show_one(*pattern, &oid);