[PATCH 3/3] git-branch -v: show the remote tracking statistics
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 2, 2008, 07:52 UTC
- Message-ID
- <7vhcb8en92.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <7vlk0lmn32.fsf@gitster.siamese.dyndns.org>
This teaches "git branch -v" to insert the remote tracking statistics in the form of [ours/theirs] just before the one-liner commit log message for the branch.
Signed-off-by: Junio C Hamano <gitster@pobox.com> --- ... which means that you would see something like this.
* jc/report-tracking 41666f7 [3/117] git-branch -v: show the remo...
I did not think we want to spend extra columns to show the name of remote branch each of them tracks, so I am showing only counts.
builtin-branch.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/builtin-branch.c b/builtin-branch.c index d279702..0e2bb52 100644 --- a/builtin-branch.c +++ b/builtin-branch.c @@ -310,6 +310,7 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose, if (verbose) { struct strbuf subject; const char *sub = " **** invalid ref ****"; + char stat[128]; strbuf_init(&subject, 0); @@ -319,10 +320,19 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose, &subject, 0, NULL, NULL, 0, 0); sub = subject.buf; } - printf("%c %s%-*s%s %s %s\n", c, branch_get_color(color), + + stat[0] = '\0'; + if (item->kind == REF_LOCAL_BRANCH) { + int ours, theirs; + struct branch *branch = branch_get(item->name); + if (stat_tracking_info(branch, &ours, &theirs)) + sprintf(stat, "[%d/%d] ", ours, theirs); + } + printf("%c %s%-*s%s %s %s%s\n", c, branch_get_color(color), maxwidth, item->name, branch_get_color(COLOR_BRANCH_RESET), - find_unique_abbrev(item->sha1, abbrev), sub); + find_unique_abbrev(item->sha1, abbrev), + stat, sub); strbuf_release(&subject); } else { printf("%c %s%s%s\n", c, branch_get_color(color), item->name,
-- 1.5.6.1.156.ge903b