When calling resolve_ref from check_symref set reading to 1, since we
do want to know if the given ref doesn't exist. This means that
"git symbolic-ref foo" will now print "fatal: No such ref: foo" as
expected.
Signed-off-by: Julian Phillips <redacted>
---
While looking at how fetch worked, I noticed that symbolic-ref was
supposed to differentiate between non-existent refs and non-symbolic refs.
Something I hadn't noticed it doing on those occasions when my fingers
had failed me ...
I also noticed that the man page says that symbolic-ref will return 1 when
the specified reference is non-symbolic. This is only true when using -q,
but I don't know if the code or man page wants changing ...
builtin-symbolic-ref.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-symbolic-ref.c b/builtin-symbolic-ref.c
index d41b406..a93c85d 100644
--- a/builtin-symbolic-ref.c
+++ b/builtin-symbolic-ref.c
@@ -9,7 +9,7 @@ static void check_symref(const char *HEAD, int quiet)
{
unsigned char sha1[20];
int flag;
- const char *refs_heads_master = resolve_ref(HEAD, sha1, 0, &flag);
+ const char *refs_heads_master = resolve_ref(HEAD, sha1, 1, &flag);
if (!refs_heads_master)
die("No such ref: %s", HEAD);--
1.5.0.4