Browse Source

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>
maint
Junio C Hamano 16 years ago
parent
commit
057e71384a
  1. 6
      sha1_name.c
  2. 6
      t/t5505-remote.sh

6
sha1_name.c

@ -268,16 +268,18 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref) @@ -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;

6
t/t5505-remote.sh

@ -421,6 +421,12 @@ test_expect_success 'remote prune to cause a dangling symref' ' @@ -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


Loading…
Cancel
Save