Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2008-03-19 03:27:42 +0300
committerJunio C Hamano <gitster@pobox.com>2008-03-20 03:33:30 +0300
commit740fdd27f0888d5c80ef6a550734bdc53febd2df (patch)
tree756cad7b6c49779627d2a08f4e1140835ab82643
parenta811e4f0f023d88596adbf39674a18d34b2f152d (diff)
remote show: do not show symbolic refs
For symbolic refs, a sane notion of being "stale" is that the ref they point to no longer exists. Since this is checked already, "remote show" does not need to show them at all. Incidentally, this fixes the issue that "HEAD" was shown as a stale ref by "remote show" in a freshly cloned repository. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-remote.c5
-rwxr-xr-xt/t5505-remote.sh10
2 files changed, 14 insertions, 1 deletions
diff --git a/builtin-remote.c b/builtin-remote.c
index 24e692953b..9c15173032 100644
--- a/builtin-remote.c
+++ b/builtin-remote.c
@@ -207,7 +207,10 @@ static int handle_one_branch(const char *refname,
if (!remote_find_tracking(states->remote, &refspec)) {
struct path_list_item *item;
const char *name = skip_prefix(refspec.src, "refs/heads/");
- if (unsorted_path_list_has_path(&states->tracked, name) ||
+ /* symbolic refs pointing nowhere were handled already */
+ if ((flags & REF_ISSYMREF) ||
+ unsorted_path_list_has_path(&states->tracked,
+ name) ||
unsorted_path_list_has_path(&states->new,
name))
return 0;
diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
index ecfc999aaa..004a8dc5ed 100755
--- a/t/t5505-remote.sh
+++ b/t/t5505-remote.sh
@@ -237,4 +237,14 @@ test_expect_success 'update default (overridden, with funny whitespace)' '
'
+test_expect_success '"remote show" does not show symbolic refs' '
+
+ git clone one three &&
+ (cd three &&
+ git remote show origin > output &&
+ ! grep HEAD < output &&
+ ! grep -i stale < output)
+
+'
+
test_done