summaryrefslogtreecommitdiff
path: root/sha1_name.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-02-09 07:52:01 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-02-11 06:26:32 (GMT)
commit057e71384a0eff83236268dcd3ff7ebc7789de74 (patch)
treeb599fded5625c3489f60568ba482df9ba3e71dbc /sha1_name.c
parentf8948e2fbc7fbd63e81006408965e3e89380bfaa (diff)
downloadgit-057e71384a0eff83236268dcd3ff7ebc7789de74.zip
git-057e71384a0eff83236268dcd3ff7ebc7789de74.tar.gz
git-057e71384a0eff83236268dcd3ff7ebc7789de74.tar.bz2
Warn use of "origin" when remotes/origin/HEAD is dangling
The previous one squelched the diagnositic message we used to issue every time we enumerated the refs and noticed a dangling ref. This adds the warning back to the place where the user actually attempts to use it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_name.c')
-rw-r--r--sha1_name.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sha1_name.c b/sha1_name.c
index 5d0ac02..3bd2ef0 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -268,16 +268,18 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)
char fullref[PATH_MAX];
unsigned char sha1_from_ref[20];
unsigned char *this_result;
+ int flag;
this_result = refs_found ? sha1_from_ref : sha1;
mksnpath(fullref, sizeof(fullref), *p, len, str);
- r = resolve_ref(fullref, this_result, 1, NULL);
+ r = resolve_ref(fullref, this_result, 1, &flag);
if (r) {
if (!refs_found++)
*ref = xstrdup(r);
if (!warn_ambiguous_refs)
break;
- }
+ } else if (flag & REF_ISSYMREF)
+ warning("ignoring dangling symref %s.", fullref);
}
free(last_branch);
return refs_found;