From: Pieter de Bie <pdebie@ai.rug.nl>
To: Junio C Hamano <gitster@pobox.com>,
Git Mailinglist <git@vger.kernel.org>
Cc: Pieter de Bie <pdebie@ai.rug.nl>
Subject: [PATCH] Builtin-commit: show on which branch a commit was added
Date: Fri, 5 Sep 2008 19:13:05 +0200 [thread overview]
Message-ID: <1220634785-55543-1-git-send-email-pdebie@ai.rug.nl> (raw)
In-Reply-To: <4C04A26E-5829-4A39-AD89-F5A68E606AA3@ai.rug.nl>
This outputs the current branch on which a commit was created, just for
reference. For example:
Created commit 6d42875 on master: Fix submodule invalid command error
This also reminds the committer when he is on a detached HEAD:
Created commit 02a7172 on detached HEAD: Also do this for 'git commit --amend'
Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
---
builtin-commit.c | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/builtin-commit.c b/builtin-commit.c
index 8165bb3..a82483d 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -878,10 +878,31 @@ int cmd_status(int argc, const char **argv, const char *prefix)
return commitable ? 0 : 1;
}
+static char* get_commit_format_string()
+{
+ unsigned char sha[20];
+ const char* head = resolve_ref("HEAD", sha, 0, NULL);
+ struct strbuf buf = STRBUF_INIT;
+
+ strbuf_addstr(&buf, "format:%h");
+
+ /* Are we on a detached HEAD? */
+ if (!strcmp("HEAD", head))
+ strbuf_addstr(&buf, " on detached HEAD");
+ else if (!prefixcmp(head, "refs/heads/")) {
+ strbuf_addstr(&buf, " on ");
+ strbuf_addstr(&buf, head + 11);
+ }
+ strbuf_addstr(&buf, ": %s");
+
+ return buf.buf;
+}
+
static void print_summary(const char *prefix, const unsigned char *sha1)
{
struct rev_info rev;
struct commit *commit;
+ char* format = get_commit_format_string();
commit = lookup_commit(sha1);
if (!commit)
@@ -899,7 +920,7 @@ static void print_summary(const char *prefix, const unsigned char *sha1)
rev.verbose_header = 1;
rev.show_root_diff = 1;
- get_commit_format("format:%h: %s", &rev);
+ get_commit_format(format, &rev);
rev.always_show_header = 0;
rev.diffopt.detect_rename = 1;
rev.diffopt.rename_limit = 100;
@@ -910,10 +931,11 @@ static void print_summary(const char *prefix, const unsigned char *sha1)
if (!log_tree_commit(&rev, commit)) {
struct strbuf buf = STRBUF_INIT;
- format_commit_message(commit, "%h: %s", &buf, DATE_NORMAL);
+ format_commit_message(commit, format + 7, &buf, DATE_NORMAL);
printf("%s\n", buf.buf);
strbuf_release(&buf);
}
+ free(format);
}
static int git_commit_config(const char *k, const char *v, void *cb)
--
1.6.0.1.346.g880d9.dirty
next prev parent reply other threads:[~2008-09-05 17:14 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-02 19:31 [RFC] Detached-HEAD reminder on commit? Pieter de Bie
2008-09-02 19:43 ` Robin Rosenberg
2008-09-02 20:24 ` Nicolas Pitre
2008-09-02 20:26 ` Matthieu Moy
2008-09-02 20:35 ` Nicolas Pitre
2008-09-02 20:39 ` Junio C Hamano
2008-09-02 21:05 ` Stephan Beyer
2008-09-02 21:39 ` Johan Herland
2008-09-02 21:44 ` Jeff King
2008-09-02 21:51 ` Jeff King
2008-09-03 7:45 ` Johan Herland
2008-09-03 8:07 ` Junio C Hamano
2008-09-03 9:47 ` Johan Herland
2008-09-03 13:15 ` Jeff King
2008-09-03 13:34 ` Jeff King
2008-09-03 13:46 ` Andreas Ericsson
2008-09-03 16:49 ` Daniel Barkalow
2008-09-03 18:07 ` Jeff King
2008-09-03 19:36 ` Junio C Hamano
2008-09-03 19:41 ` Jeff King
2008-09-03 14:11 ` Wincent Colaiuta
2008-09-03 18:08 ` Jeff King
2008-09-03 15:16 ` Nicolas Pitre
2008-09-02 21:58 ` Junio C Hamano
2008-09-02 22:53 ` Nicolas Pitre
2008-09-04 4:50 ` Avery Pennarun
2008-09-04 5:31 ` Junio C Hamano
2008-09-05 23:43 ` Junio C Hamano
2008-09-02 21:51 ` Pieter de Bie
2008-09-02 22:11 ` Jakub Narebski
2008-09-02 22:50 ` Junio C Hamano
2008-09-02 22:58 ` Nicolas Pitre
2008-09-03 11:27 ` Pieter de Bie
2008-09-05 17:13 ` Pieter de Bie [this message]
2008-09-07 5:27 ` [PATCH] Builtin-commit: show on which branch a commit was added Junio C Hamano
2008-09-07 5:59 ` Junio C Hamano
2008-09-07 23:05 ` [PATCH 1/2] pretty.c: add %% format specifier Pieter de Bie
2008-09-07 23:05 ` [PATCH 2/2] builtin-commit: show on which branch a commit was added Pieter de Bie
2008-09-21 10:42 ` [PATCH] Builtin-commit: " Jeff King
2008-09-29 20:09 ` Pieter de Bie
2008-09-29 22:44 ` Jeff King
2008-09-30 6:13 ` Andreas Ericsson
2008-09-30 6:16 ` Jeff King
2008-09-30 9:45 ` Andreas Ericsson
2008-09-30 9:52 ` [PATCH] git commit: Reformat output somewhat Andreas Ericsson
2008-09-30 6:37 ` [PATCH] Builtin-commit: show on which branch a commit was added Wincent Colaiuta
2008-09-30 7:09 ` Jeff King
2008-09-30 9:59 ` Andreas Ericsson
2008-10-01 3:14 ` Jeff King
2008-10-01 8:13 ` Andreas Ericsson
2008-10-01 15:10 ` Shawn O. Pearce
2008-10-01 15:22 ` Andreas Ericsson
2008-10-01 15:25 ` Jeff King
2008-10-01 15:36 ` Shawn O. Pearce
2008-10-01 15:42 ` Jeff King
2008-10-01 15:44 ` Shawn O. Pearce
2008-10-01 21:06 ` [PATCH] git commit: Repaint the output format bikeshed (again) Andreas Ericsson
2008-10-01 22:06 ` Jeff King
2008-10-01 22:31 ` Jeff King
2008-10-02 5:40 ` Andreas Ericsson
2008-10-02 21:13 ` Jeff King
2008-10-03 0:15 ` Shawn O. Pearce
2008-10-03 4:24 ` Jeff King
2008-10-03 14:09 ` Shawn O. Pearce
2008-10-04 2:13 ` Jeff King
2008-10-02 8:36 ` Wincent Colaiuta
2008-10-01 15:18 ` [PATCH] Builtin-commit: show on which branch a commit was added Jeff King
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=1220634785-55543-1-git-send-email-pdebie@ai.rug.nl \
--to=pdebie@ai.rug.nl \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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).