git-remote: list branches in vertical lists
Previously, branches were listed on a single line in each section. But if there are many branches, then horizontal, line-wrapped lists are very inconvenient to scan for a human. This makes the lists vertical, i.e one branch per line is printed. Since "git remote" is porcelain, we can easily make this backwards-incompatible change. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f55527f802
commit
20244ea2d0
@ -4356,7 +4356,9 @@ $ git remote show example # get details
|
||||
* remote example
|
||||
URL: git://example.com/project.git
|
||||
Tracked remote branches
|
||||
master next ...
|
||||
master
|
||||
next
|
||||
...
|
||||
$ git fetch example # update branches from example
|
||||
$ git branch -r # list all remote branches
|
||||
-----------------------------------------------
|
||||
|
@ -412,10 +412,9 @@ static void show_list(const char *title, struct string_list *list,
|
||||
return;
|
||||
|
||||
printf(title, list->nr > 1 ? "es" : "", extra_arg);
|
||||
printf("\n ");
|
||||
for (i = 0; i < list->nr; i++)
|
||||
printf("%s%s", i ? " " : "", list->items[i].string);
|
||||
printf("\n");
|
||||
for (i = 0; i < list->nr; i++)
|
||||
printf(" %s\n", list->items[i].string);
|
||||
}
|
||||
|
||||
static int get_remote_ref_states(const char *name,
|
||||
@ -511,17 +510,17 @@ static int show(int argc, const char **argv)
|
||||
show_list(" Tracked remote branch%s", &states.tracked, "");
|
||||
|
||||
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 ?
|
||||
"es" : "");
|
||||
for (i = 0; i < states.remote->push_refspec_nr; i++) {
|
||||
struct refspec *spec = states.remote->push + i;
|
||||
printf(" %s%s%s%s", spec->force ? "+" : "",
|
||||
printf(" %s%s%s%s\n",
|
||||
spec->force ? "+" : "",
|
||||
abbrev_branch(spec->src),
|
||||
spec->dst ? ":" : "",
|
||||
spec->dst ? abbrev_branch(spec->dst) : "");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
/* NEEDSWORK: free remote */
|
||||
|
@ -28,7 +28,7 @@ tokens_match () {
|
||||
}
|
||||
|
||||
check_remote_track () {
|
||||
actual=$(git remote show "$1" | sed -n -e '$p') &&
|
||||
actual=$(git remote show "$1" | sed -e '1,/Tracked/d') &&
|
||||
shift &&
|
||||
tokens_match "$*" "$actual"
|
||||
}
|
||||
@ -115,9 +115,11 @@ cat > test/expect << EOF
|
||||
New remote branch (next fetch will store in remotes/origin)
|
||||
master
|
||||
Tracked remote branches
|
||||
side master
|
||||
side
|
||||
master
|
||||
Local branches pushed with 'git push'
|
||||
master:upstream +refs/tags/lastbackup
|
||||
master:upstream
|
||||
+refs/tags/lastbackup
|
||||
EOF
|
||||
|
||||
test_expect_success 'show' '
|
||||
@ -144,9 +146,11 @@ cat > test/expect << EOF
|
||||
Remote branch merged with 'git pull' while on branch master
|
||||
master
|
||||
Tracked remote branches
|
||||
master side
|
||||
master
|
||||
side
|
||||
Local branches pushed with 'git push'
|
||||
master:upstream +refs/tags/lastbackup
|
||||
master:upstream
|
||||
+refs/tags/lastbackup
|
||||
EOF
|
||||
|
||||
test_expect_success 'show -n' '
|
||||
|
Loading…
Reference in New Issue
Block a user