remote show: list tracked remote branches with -n

Signed-off-by: Olivier Marin <dkr@freesurf.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Olivier Marin 2008-06-11 00:54:49 +02:00 committed by Junio C Hamano
parent 8d7679276a
commit e7d5a97d5e
2 changed files with 22 additions and 2 deletions

View File

@ -444,6 +444,22 @@ static int get_remote_ref_states(const char *name,
return 0; return 0;
} }
static int append_ref_to_tracked_list(const char *refname,
const unsigned char *sha1, int flags, void *cb_data)
{
struct ref_states *states = cb_data;
struct refspec refspec;
memset(&refspec, 0, sizeof(refspec));
refspec.dst = (char *)refname;
if (!remote_find_tracking(states->remote, &refspec)) {
path_list_append(skip_prefix(refspec.src, "refs/heads/"),
&states->tracked);
}
return 0;
}
static int show(int argc, const char **argv) static int show(int argc, const char **argv)
{ {
int no_query = 0, result = 0; int no_query = 0, result = 0;
@ -494,10 +510,12 @@ static int show(int argc, const char **argv)
strbuf_release(&buf); strbuf_release(&buf);
show_list(" Stale tracking branch%s (use 'git remote " show_list(" Stale tracking branch%s (use 'git remote "
"prune')", &states.stale); "prune')", &states.stale);
show_list(" Tracked remote branch%s",
&states.tracked);
} }
if (no_query)
for_each_ref(append_ref_to_tracked_list, &states);
show_list(" Tracked remote branch%s", &states.tracked);
if (states.remote->push_refspec_nr) { if (states.remote->push_refspec_nr) {
printf(" Local branch%s pushed with 'git push'\n ", printf(" Local branch%s pushed with 'git push'\n ",
states.remote->push_refspec_nr > 1 ? states.remote->push_refspec_nr > 1 ?

View File

@ -143,6 +143,8 @@ cat > test/expect << EOF
URL: $(pwd)/one/.git URL: $(pwd)/one/.git
Remote branch merged with 'git pull' while on branch master Remote branch merged with 'git pull' while on branch master
master master
Tracked remote branches
master side
Local branches pushed with 'git push' Local branches pushed with 'git push'
master:upstream +refs/tags/lastbackup master:upstream +refs/tags/lastbackup
EOF EOF