Re: [RFC v2] reflog: show committer date in verbose mode

2013-06-03 Thread Ramkumar Ramachandra
Jiang Xin wrote:
 It will be nice to add this pretty formatter automatically when run
 `git reflog` in verbose mode. And in order to support verbose mode, add
 new flag verbose in struct rev_info.

Sorry I missed earlier revisions of this patch.  Generally speaking,
verbose is a bad way to control format-specifiers.  Why not add to
the list of pretty-format specifiers (like oneline, short, medium,
full)?  Also, this patch is extremely pervasive in that it teaches a
poorly defined verbosity to a very low layer: revision.c/revision.h.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC v2] reflog: show committer date in verbose mode

2013-06-03 Thread Junio C Hamano
Jiang Xin worldhello@gmail.com writes:

 2013/6/3 Ramkumar Ramachandra artag...@gmail.com:
 Jiang Xin wrote:
 It will be nice to add this pretty formatter automatically when run
 `git reflog` in verbose mode. And in order to support verbose mode, add
 new flag verbose in struct rev_info.

 Sorry I missed earlier revisions of this patch.  Generally speaking,
 verbose is a bad way to control format-specifiers.  Why not add to
 the list of pretty-format specifiers (like oneline, short, medium,
 full)?  Also, this patch is extremely pervasive in that it teaches a
 poorly defined verbosity to a very low layer: revision.c/revision.h.

 I also feel bad when adding new flag verbose into rev_info. = =b

 CommitDate is more significant than AuthorDate for reflog.

This is a curious statement, as I've seen it in a different context
recently.

Is it committer date that you really care about, or are you using it
as a substitute for something else you care more about, namely, the
time of the event the reflog entry was created (i.e. when you
committed, when you resetted, when you branch -fed)?
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC v2] reflog: show committer date in verbose mode

2013-06-02 Thread Jiang Xin
By default, reflog won't show committer date and for some cases won't
show commit log either. It will be helpful to show them all by passing
a more complicated pretty formatter to `git reflog` like this:

$ git reflog show \
  --pretty=%Cred%h%Creset %gd: %gs%n   %Cblue%ci (%cr)%Creset: %s

It will be nice to add this pretty formatter automatically when run
`git reflog` in verbose mode. And in order to support verbose mode, add
new flag verbose in struct rev_info.

Signed-off-by: Jiang Xin worldhello@gmail.com
---

For example:

$ git reflog show -3 master
727a4 master@{0}: merge kernel/master: Fast-forward
edca41 master@{1}: merge kernel/master: Fast-forward
5e49f master@{2}: merge kernel/master: Fast-forward

$ git reflog show -3 -v master
727a4 master@{0}: merge kernel/master: Fast-forward
Wed May 29 15:21:47 2013 -0700 (by Junio C Hamano, at 4 days ago)
edca41 master@{1}: merge kernel/master: Fast-forward
Fri May 24 11:34:46 2013 -0700 (by Junio C Hamano, at 9 days ago)
5e49f master@{2}: merge kernel/master: Fast-forward
Tue May 21 09:33:24 2013 -0700 (by Junio C Hamano, at 12 days ago)

$ git reflog show -3 -v -v master

727a4 master@{0}: merge kernel/master: Fast-forward
Wed May 29 15:21:47 2013 -0700 (by Junio C Hamano, at 4 days ago)
Sync with maint
edca41 master@{1}: merge kernel/master: Fast-forward
Fri May 24 11:34:46 2013 -0700 (by Junio C Hamano, at 9 days ago)
Git 1.8.3
5e49f master@{2}: merge kernel/master: Fast-forward
Tue May 21 09:33:24 2013 -0700 (by Junio C Hamano, at 12 days ago)
remote-hg: fix order of configuration comments

 builtin/log.c | 15 +++
 revision.c|  1 +
 revision.h|  1 +
 3 files changed, 17 insertions(+)

diff --git a/builtin/log.c b/builtin/log.c
index dd3f10..d611b 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -615,6 +615,21 @@ int cmd_log_reflog(int argc, const char **argv, const char 
*prefix)
rev.use_terminator = 1;
rev.always_show_header = 1;
cmd_log_init_finish(argc, argv, prefix, rev, opt);
+   if (rev.verbose  !rev.pretty_given) {
+   struct strbuf formatter = STRBUF_INIT;
+   rev.verbose_header = 1;
+   rev.pretty_given = 1;
+   strbuf_addf(formatter, %s%%h%s %%gd: %%gs%%n,
+   diff_get_color_opt(rev.diffopt, DIFF_COMMIT),
+   diff_get_color_opt(rev.diffopt, DIFF_RESET));
+   strbuf_addf(formatter, %s%%cd%s (by %%cn, at %%cr),
+   diff_get_color_opt(rev.diffopt, DIFF_METAINFO),
+   diff_get_color_opt(rev.diffopt, DIFF_RESET));
+   if (rev.verbose  1)
+   strbuf_addstr(formatter, %n%s);
+   get_commit_format(formatter.buf, rev);
+   strbuf_release(formatter);
+   }
 
return cmd_log_walk(rev);
 }
diff --git a/revision.c b/revision.c
index 518cd..f7483 100644
--- a/revision.c
+++ b/revision.c
@@ -1514,6 +1514,7 @@ static int handle_revision_opt(struct rev_info *revs, int 
argc, const char **arg
revs-combine_merges = 1;
} else if (!strcmp(arg, -v)) {
revs-verbose_header = 1;
+   revs-verbose++;
} else if (!strcmp(arg, --pretty)) {
revs-verbose_header = 1;
revs-pretty_given = 1;
diff --git a/revision.h b/revision.h
index a313a..dc4d8 100644
--- a/revision.h
+++ b/revision.h
@@ -119,6 +119,7 @@ struct rev_info {
show_notes_given:1,
show_signature:1,
pretty_given:1,
+   verbose:3,
abbrev_commit:1,
abbrev_commit_given:1,
use_terminator:1,
-- 
1.8.3.490.gfd67a58.dirty

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html