From: Junio C Hamano Date: Mon, 9 Feb 2009 07:52:01 +0000 (-0800) Subject: Warn use of "origin" when remotes/origin/HEAD is dangling X-Git-Tag: v1.6.2-rc1~33 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=057e71384a0eff83236268dcd3ff7ebc7789de74;p=git.git 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 --- diff --git a/sha1_name.c b/sha1_name.c index 5d0ac0263..3bd2ef0e7 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; diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh index 2067dc558..eb637184a 100755 --- a/t/t5505-remote.sh +++ b/t/t5505-remote.sh @@ -421,6 +421,12 @@ test_expect_success 'remote prune to cause a dangling symref' ' git branch -a ) 2>err && ! grep "points nowhere" err + ( + cd seven && + test_must_fail git branch nomore origin + ) 2>err && + grep "dangling symref" err ' test_done +