From e92809856bde9a7da2b0062c354e32ebc5903a69 Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Wed, 9 Mar 2011 09:56:52 +0100 Subject: [PATCH] sha1_name: introduce ref:refname for refname objects --- sha1_name.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sha1_name.c b/sha1_name.c index 95003c77ea..d88aa03663 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -1358,6 +1358,20 @@ static int get_sha1_with_context_1(const char *name, free(new_filename); return ret; + } else if (!memcmp(name, "ref", 3)) { + unsigned char discard[20]; + char *full; + + switch (dwim_ref(name+4, strlen(name+4), discard, &full)) { + case 0: + die("Invalid refname '%s'.", name+4); + case 1: /* happy */ + break; + default: /* ambiguous */ + error("Refname '%s' is ambiguous.", name+4); + break; + } + return hash_sha1_refname(full, sha1); } else { if (only_to_die) die("Invalid object name '%s'.", object_name); -- 2.11.4.GIT