summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6d21bf9)
raw | patch | inline | side by side (parent: 6d21bf9)
author | Junio C Hamano <gitster@pobox.com> | |
Wed, 2 Jul 2008 07:52:16 +0000 (00:52 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 3 Jul 2008 06:32:25 +0000 (23:32 -0700) |
This teaches "git status" to show the same remote tracking statistics
"git checkout" gives at the beginning of the output.
Now the necessary low-level machinery is properly factored out, we can do
this quite cleanly.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
"git checkout" gives at the beginning of the output.
Now the necessary low-level machinery is properly factored out, we can do
this quite cleanly.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
wt-status.c | patch | blob | history |
diff --git a/wt-status.c b/wt-status.c
index 28c9e637e3dd42a2c2364dd7b9f099f4671861cb..eeb106e13e88c3ee2f61df41017e47b221f10ae3 100644 (file)
--- a/wt-status.c
+++ b/wt-status.c
#include "diffcore.h"
#include "quote.h"
#include "run-command.h"
+#include "remote.h"
int wt_status_relative_paths = 1;
int wt_status_use_color = -1;
run_diff_index(&rev, 1);
}
+static void wt_status_print_tracking(struct wt_status *s)
+{
+ struct strbuf sb = STRBUF_INIT;
+ const char *cp, *ep;
+ struct branch *branch;
+
+ assert(s->branch && !s->is_initial);
+ if (prefixcmp(s->branch, "refs/heads/"))
+ return;
+ branch = branch_get(s->branch + 11);
+ if (!format_tracking_info(branch, &sb))
+ return;
+
+ for (cp = sb.buf; (ep = strchr(cp, '\n')) != NULL; cp = ep + 1)
+ color_fprintf_ln(s->fp, color(WT_STATUS_HEADER),
+ "# %.*s", (int)(ep - cp), cp);
+ color_fprintf_ln(s->fp, color(WT_STATUS_HEADER), "#");
+}
+
void wt_status_print(struct wt_status *s)
{
unsigned char sha1[20];
}
color_fprintf(s->fp, color(WT_STATUS_HEADER), "# ");
color_fprintf_ln(s->fp, branch_color, "%s%s", on_what, branch_name);
+ if (!s->is_initial)
+ wt_status_print_tracking(s);
}
if (s->is_initial) {