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
|
* remote example
|
||||||
URL: git://example.com/project.git
|
URL: git://example.com/project.git
|
||||||
Tracked remote branches
|
Tracked remote branches
|
||||||
master next ...
|
master
|
||||||
|
next
|
||||||
|
...
|
||||||
$ git fetch example # update branches from example
|
$ git fetch example # update branches from example
|
||||||
$ git branch -r # list all remote branches
|
$ git branch -r # list all remote branches
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
@ -412,10 +412,9 @@ static void show_list(const char *title, struct string_list *list,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
printf(title, list->nr > 1 ? "es" : "", extra_arg);
|
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");
|
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,
|
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, "");
|
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 ?
|
||||||
"es" : "");
|
"es" : "");
|
||||||
for (i = 0; i < states.remote->push_refspec_nr; i++) {
|
for (i = 0; i < states.remote->push_refspec_nr; i++) {
|
||||||
struct refspec *spec = states.remote->push + 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),
|
abbrev_branch(spec->src),
|
||||||
spec->dst ? ":" : "",
|
spec->dst ? ":" : "",
|
||||||
spec->dst ? abbrev_branch(spec->dst) : "");
|
spec->dst ? abbrev_branch(spec->dst) : "");
|
||||||
}
|
}
|
||||||
printf("\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NEEDSWORK: free remote */
|
/* NEEDSWORK: free remote */
|
||||||
|
@ -28,7 +28,7 @@ tokens_match () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_remote_track () {
|
check_remote_track () {
|
||||||
actual=$(git remote show "$1" | sed -n -e '$p') &&
|
actual=$(git remote show "$1" | sed -e '1,/Tracked/d') &&
|
||||||
shift &&
|
shift &&
|
||||||
tokens_match "$*" "$actual"
|
tokens_match "$*" "$actual"
|
||||||
}
|
}
|
||||||
@ -115,9 +115,11 @@ cat > test/expect << EOF
|
|||||||
New remote branch (next fetch will store in remotes/origin)
|
New remote branch (next fetch will store in remotes/origin)
|
||||||
master
|
master
|
||||||
Tracked remote branches
|
Tracked remote branches
|
||||||
side master
|
side
|
||||||
|
master
|
||||||
Local branches pushed with 'git push'
|
Local branches pushed with 'git push'
|
||||||
master:upstream +refs/tags/lastbackup
|
master:upstream
|
||||||
|
+refs/tags/lastbackup
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'show' '
|
test_expect_success 'show' '
|
||||||
@ -144,9 +146,11 @@ cat > test/expect << EOF
|
|||||||
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
|
Tracked remote branches
|
||||||
master side
|
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
|
||||||
|
|
||||||
test_expect_success 'show -n' '
|
test_expect_success 'show -n' '
|
||||||
|
Loading…
Reference in New Issue
Block a user