Thread (10 messages) flat view 10 messages, 3 authors, 2016-06-15
DORMANTno replies

[PATCH] branch: add show-tracking option

From: Felipe Contreras <hidden>
Date: 2016-06-15 22:57:16
Subsystem: documentation, the rest · Maintainers: Jonathan Corbet, Linus Torvalds

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.

Signed-off-by: Felipe Contreras <redacted>
---
 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(),
 	};
 
-- 
1.8.3.rc1.579.g184e698
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help