Felipe Contreras venit, vidit, dixit 16.05.2013 09:48: > Showing the tracking information for all the branches takes significant > amount of time. The user might not want that. The --no-show-tracking > option allows that. I really like the idea of allowing that - not just because I've suggested so myself in the past ;) I feel, though, that we're really exploding our option and config realm. For "git branch" in list mode, we are already able to stack "-v", i.e. "-v" and "-vv" do different things. How about maybe adding "-vvv" and arranging things so that the verbosity and the run time increases with the number of v's? -v list with sha1 + subject of last commit -vv add upstream branch name -vvv add ahead/behind info (the only costly mode) -vvvv same with "--cherry" (ahead/behind/same) Or maybe combine the middle two cases into "-vv", which means it would be the same as "-vv", with only "-v" changing what it does now. Yes, this changes current behavior (at least fpr -v), which sucks anyways because of the costly lookup. And those scripting around "branch -v" should get what they deserve. (I may sound annoyed by our compatibility brakes, but here's a case where breaking it should be OK.) > Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> > --- > Documentation/git-branch.txt | 5 ++++- > builtin/branch.c | 4 +++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt > index b7cb625..1db04cd 100644 > --- a/Documentation/git-branch.txt > +++ b/Documentation/git-branch.txt > @@ -9,7 +9,7 @@ SYNOPSIS > -------- > [verse] > 'git branch' [--color[=<when>] | --no-color] [-r | -a] > - [--list] [-v [--abbrev=<length> | --no-abbrev]] > + [--list] [-v [--abbrev=<length> | --no-abbrev] --show-tracking] > [--column[=<options>] | --no-column] > [(--merged | --no-merged | --contains) [<commit>]] [<pattern>...] > 'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>] > @@ -154,6 +154,9 @@ This option is only applicable in non-verbose mode. > --no-abbrev:: > Display the full sha1s in the output listing rather than abbreviating them. > > +--show-tracking:: > + Display the tracking information when using --verbose, or not. > + > -t:: > --track:: > When creating a new branch, set up configuration to mark the > diff --git a/builtin/branch.c b/builtin/branch.c > index 0836890..2b586ea 100644 > --- a/builtin/branch.c > +++ b/builtin/branch.c > @@ -33,6 +33,7 @@ static const char * const builtin_branch_usage[] = { > > static const char *head; > static unsigned char head_sha1[20]; > +static int show_tracking = 1; > > static int branch_use_color = -1; > static char branch_colors[][COLOR_MAXLEN] = { > @@ -424,7 +425,7 @@ static void fill_tracking_info(struct strbuf *stat, const char *branch_name, > struct branch *branch = branch_get(branch_name); > struct strbuf fancy = STRBUF_INIT; > > - if (!stat_tracking_info(branch, &ours, &theirs)) { > + if (!(show_tracking && stat_tracking_info(branch, &ours, &theirs))) { > if (branch && branch->merge && branch->merge[0]->dst && > show_upstream_ref) { > ref = shorten_unambiguous_ref(branch->merge[0]->dst, 0); > @@ -840,6 +841,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix) > opt_parse_merge_filter, (intptr_t) "HEAD", > }, > OPT_COLUMN(0, "column", &colopts, N_("list branches in columns")), > + OPT_BOOL(0, "show-tracking", &show_tracking, N_("show tracking information")), > OPT_END(), > }; > > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html