From: Knittl <knittl89@googlemail.com>
To: git@vger.kernel.org
Subject: [PATCH] Show branch information in short output of git status
Date: Sun, 2 May 2010 12:10:21 +0200 [thread overview]
Message-ID: <AANLkTim335DkD5nq8njM3jfEDcWLH-4cdEHKRdavdDLG@mail.gmail.com> (raw)
>From 6a82c5486163a058cf2bdbe5089527084a563b80 Mon Sep 17 00:00:00 2001
From: Daniel Knittl-Frank <knittl89+git@googlemail.com>
Date: Tue, 20 Apr 2010 22:40:54 +0200
Subject: [PATCH] Show branch information in short output of git status
This patch adds a first line in the output of `git status -s`, showing
which branch the user is currently on, and in case of tracking branches
the number of commits on each branch.
Signed-off-by: Daniel Knittl-Frank <knittl89+git@googlemail.com>
---
wt-status.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/wt-status.c b/wt-status.c
index 8ca59a2..2e6c56e 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -9,6 +9,7 @@
#include "quote.h"
#include "run-command.h"
#include "remote.h"
+#include "refs.h"
static char default_wt_status_colors[][COLOR_MAXLEN] = {
GIT_COLOR_NORMAL, /* WT_STATUS_HEADER */
@@ -721,9 +722,53 @@ static void wt_shortstatus_untracked(int
null_termination, struct string_list_it
}
}
+static void wt_shortstatus_print_tracking(struct wt_status *s)
+{
+ struct branch *branch;
+ const char *branch_color = color(WT_STATUS_HEADER, s);
+
+ const char *base;
+ const char *branch_name;
+ int num_ours, num_theirs;
+
+ color_fprintf(s->fp, color(WT_STATUS_HEADER, s), "## ");
+
+ if(!s->branch) return;
+ branch_name = s->branch;
+
+ if (!prefixcmp(branch_name, "refs/heads/"))
+ branch_name += 11;
+ else if (!strcmp(branch_name, "HEAD")) {
+ branch_color = color(WT_STATUS_NOBRANCH, s);
+ }
+
+ branch = branch_get(s->branch + 11);
+ if (!stat_tracking_info(branch, &num_ours, &num_theirs)) {
+
+ if(s->is_initial) {
+ color_fprintf(s->fp,
+ color(WT_STATUS_HEADER, s),
+ "Initial commit ... ");
+ }
+ color_fprintf_ln(s->fp, branch_color,
+ "%s", branch_name);
+ return;
+ }
+
+ base = branch->merge[0]->dst;
+ base = shorten_unambiguous_ref(base, 0);
+ color_fprintf_ln(s->fp, branch_color,
+ "%s (%d) ... %s (%d)",
+ branch_name, num_ours,
+ base, num_theirs);
+}
+
void wt_shortstatus_print(struct wt_status *s, int null_termination)
{
int i;
+
+ wt_shortstatus_print_tracking(s);
+
for (i = 0; i < s->change.nr; i++) {
struct wt_status_change_data *d;
struct string_list_item *it;
--
1.7.1.rc2.6.g1015.dirty
--
typed with http://neo-layout.org
myFtPhp -- visit http://myftphp.sf.net -- v. 0.4.7 released!
next reply other threads:[~2010-05-02 10:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-02 10:10 Knittl [this message]
[not found] <AANLkTinNYcuiyRpgMGpQAEaStj2MDg9UooozooLPwv_0@mail.gmail.com>
2010-05-25 13:45 ` [PATCH] Show branch information in short output of git status Michael J Gruber
2010-05-25 14:03 ` Michael J Gruber
-- strict thread matches above, loose matches on Subject: below --
2010-05-02 9:13 Knittl
2010-05-05 5:06 ` Jeff King
2010-05-06 12:24 ` Knittl
2010-05-07 16:05 ` Knittl
2010-05-12 13:35 ` Jeff King
2010-05-14 6:54 ` Knittl
2010-05-23 9:23 ` Jeff King
2010-05-25 7:19 ` Michael J Gruber
2010-05-25 7:22 ` Jeff King
2010-05-25 8:10 ` Michael J Gruber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTim335DkD5nq8njM3jfEDcWLH-4cdEHKRdavdDLG@mail.gmail.com \
--to=knittl89@googlemail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).