aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael J Gruber <git@drmicha.warpmail.net>2011-03-10 15:45:03 +0100
committerJunio C Hamano <gitster@pobox.com>2011-03-10 21:55:29 -0800
commitb1b47554ae889ca76b66349819c9b95a8be5f646 (patch)
tree28cf55591e64cf1b319cbd94c80d8011cb172993
parentfe3b59e595b02ee57314b74a74df915bdd845011 (diff)
downloadgit-b1b47554ae889ca76b66349819c9b95a8be5f646.tar.gz
git-b1b47554ae889ca76b66349819c9b95a8be5f646.tar.xz
git-log: put space after commit mark
Currently, commit marks (left, right, boundary, cherry) are output right before the commit sha1, which makes it difficult to copy sha1s. Sample output for "git log --oneline --cherry": =049c269 t6007: test rev-list --cherry Change this to = 049c269 t6007: test rev-list --cherry which matches exactly the current output of "git log --graph". Leave "git rev-list" output as is (no space) so that they do not break. Adjust "git-svn" which uses "git log --pretty=raw --boundary". Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-svn.perl2
-rw-r--r--log-tree.c4
-rw-r--r--revision.c9
-rw-r--r--revision.h1
4 files changed, 13 insertions, 3 deletions
diff --git a/git-svn.perl b/git-svn.perl
index 177dd259c..a5857c1ad 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -5734,7 +5734,7 @@ sub cmd_show_log {
my (@k, $c, $d, $stat);
my $esc_color = qr/(?:\033\[(?:(?:\d+;)*\d*)?m)*/;
while (<$log>) {
- if (/^${esc_color}commit -?($::sha1_short)/o) {
+ if (/^${esc_color}commit (- )?($::sha1_short)/o) {
my $cmt = $1;
if ($c && cmt_showable($c) && $c->{r} != $r_last) {
$r_last = $c->{r};
diff --git a/log-tree.c b/log-tree.c
index 125704031..2a1e3a94c 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -381,7 +381,7 @@ void show_log(struct rev_info *opt)
graph_show_commit(opt->graph);
if (!opt->graph)
- fputs(get_revision_mark(opt, commit), stdout);
+ put_revision_mark(opt, commit);
fputs(find_unique_abbrev(commit->object.sha1, abbrev_commit), stdout);
if (opt->print_parents)
show_parents(commit, abbrev_commit);
@@ -439,7 +439,7 @@ void show_log(struct rev_info *opt)
fputs("commit ", stdout);
if (!opt->graph)
- fputs(get_revision_mark(opt, commit), stdout);
+ put_revision_mark(opt, commit);
fputs(find_unique_abbrev(commit->object.sha1, abbrev_commit),
stdout);
if (opt->print_parents)
diff --git a/revision.c b/revision.c
index 51372f650..626f6a23d 100644
--- a/revision.c
+++ b/revision.c
@@ -2302,3 +2302,12 @@ char *get_revision_mark(const struct rev_info *revs, const struct commit *commit
return "+";
return "";
}
+
+void put_revision_mark(const struct rev_info *revs, const struct commit *commit)
+{
+ char *mark = get_revision_mark(revs, commit);
+ if (!strlen(mark))
+ return;
+ fputs(mark, stdout);
+ putchar(' ');
+}
diff --git a/revision.h b/revision.h
index d38f1355d..1c0abf0f5 100644
--- a/revision.h
+++ b/revision.h
@@ -168,6 +168,7 @@ extern int handle_revision_arg(const char *arg, struct rev_info *revs,int flags,
extern int prepare_revision_walk(struct rev_info *revs);
extern struct commit *get_revision(struct rev_info *revs);
extern char *get_revision_mark(const struct rev_info *revs, const struct commit *commit);
+extern void put_revision_mark(const struct rev_info *revs, const struct commit *commit);
extern void mark_parents_uninteresting(struct commit *commit);
extern void mark_tree_uninteresting(struct tree *tree);