{"thread":{"id":"33996","subject":"[RFC] reflog: show committer date in verbose mode","startedAt":"2013-05-31T01:44:53Z","lastAt":"2013-05-31T01:52:15Z","messageCount":2,"participants":["Jiang Xin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"219052","messageId":"c05d3472f28695a10154cda8ed2c973baf5e20b7.1369964641.git.worldhello.net@gmail.com","threadId":"33996","inReplyTo":null,"subject":"[RFC] reflog: show committer date in verbose mode","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2013-05-31T01:44:53Z","receivedAt":"2013-05-31T01:44:53Z","isPatch":false,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"By default, reflog won't show committer date and for some cases won't\nshow commit log either. It will be helpful to show them all by passing\na more complicated pretty formatter to `git reflog` like this:\n\n    $ git reflog show \\\n      --pretty=\"%Cred%h%Creset %gd: %gs%n  >> %Cblue%ci (%cr)%Creset: %s\"\n\nIt will be nice to add this pretty formatter automatically when run\n`git reflog` in verbose mode. Also add new flag \"verbose\" to rev_info.\n\nSigned-off-by: Jiang Xin <worldhello.net@gmail.com>\n---\n builtin/log.c | 31 +++++++++++++++++++++++++++++++\n revision.c    |  1 +\n revision.h    |  1 +\n 3 files changed, 33 insertions(+)\n\ndiff --git a/builtin/log.c b/builtin/log.c\nindex dd3f10..fd213 100644\n--- a/builtin/log.c\n+++ b/builtin/log.c\n@@ -615,6 +615,37 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix)\n \trev.use_terminator = 1;\n \trev.always_show_header = 1;\n \tcmd_log_init_finish(argc, argv, prefix, &rev, &opt);\n+\tif (rev.verbose && !rev.pretty_given) {\n+\t\tstruct strbuf formatter = STRBUF_INIT;\n+\t\trev.verbose_header = 1;\n+\t\trev.pretty_given = 1;\n+\t\tstrbuf_addf(&formatter, \"%s%%h%s %%gd: %%gs%%n\",\n+\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_COMMIT),\n+\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_RESET));\n+\t\tswitch (rev.verbose) {\n+\t\tcase 1:\n+\t\t\tstrbuf_addf(&formatter, \"    >> %s%%ci%s (%s%%cr%s)\",\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_METAINFO),\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_RESET),\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_METAINFO),\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_RESET));\n+\t\t\tstrbuf_addstr(&formatter, \": %s\");\n+\t\t\tbreak;\n+\t\tdefault:\n+\t\t\tstrbuf_addf(&formatter, \"    >> %s%%cD%s (%s%%cr%s)\",\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_METAINFO),\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_RESET),\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_METAINFO),\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_RESET));\n+\t\t\tstrbuf_addf(&formatter, \", by %s%%an%s\",\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_METAINFO),\n+\t\t\t\t    diff_get_color_opt(&rev.diffopt, DIFF_RESET));\n+\t\t\tstrbuf_addstr(&formatter, \": %s\");\n+\t\t\tbreak;\n+\t\t}\n+\t\tget_commit_format(formatter.buf, &rev);\n+\t\tstrbuf_release(&formatter);\n+\t}\n \n \treturn cmd_log_walk(&rev);\n }\ndiff --git a/revision.c b/revision.c\nindex 518cd..f7483 100644\n--- a/revision.c\n+++ b/revision.c\n@@ -1514,6 +1514,7 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg\n \t\trevs->combine_merges = 1;\n \t} else if (!strcmp(arg, \"-v\")) {\n \t\trevs->verbose_header = 1;\n+\t\trevs->verbose++;\n \t} else if (!strcmp(arg, \"--pretty\")) {\n \t\trevs->verbose_header = 1;\n \t\trevs->pretty_given = 1;\ndiff --git a/revision.h b/revision.h\nindex a313a..032ec 100644\n--- a/revision.h\n+++ b/revision.h\n@@ -119,6 +119,7 @@ struct rev_info {\n \t\t\tshow_notes_given:1,\n \t\t\tshow_signature:1,\n \t\t\tpretty_given:1,\n+\t\t\tverbose:4,\n \t\t\tabbrev_commit:1,\n \t\t\tabbrev_commit_given:1,\n \t\t\tuse_terminator:1,\n-- \n1.8.3.466.g52d8e0f\n"},{"id":"219053","messageId":"CANYiYbG0Wy1kL7p6GfzBxfTGFJon21Ob5VVno=N5Wf2vqwxchA@mail.gmail.com","threadId":"33996","inReplyTo":"c05d3472f28695a10154cda8ed2c973baf5e20b7.1369964641.git.worldhello.net@gmail.com","subject":"Re: [RFC] reflog: show committer date in verbose mode","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2013-05-31T01:52:15Z","receivedAt":"2013-05-31T01:52:15Z","isPatch":false,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"2013/5/31 Jiang Xin <worldhello.net@gmail.com>:\n> By default, reflog won't show committer date and for some cases won't\n> show commit log either. It will be helpful to show them all by passing\n> a more complicated pretty formatter to `git reflog` like this:\n>\n>     $ git reflog show \\\n>       --pretty=\"%Cred%h%Creset %gd: %gs%n  >> %Cblue%ci (%cr)%Creset: %s\"\n>\n\nFor example:\n\n$ git reflog show master\nedca41 master@{0}: merge kernel/master: Fast-forward\n5e49f master@{1}: merge kernel/master: Fast-forward\nde3a5 master@{2}: merge kernel/master: Fast-forward\n0c2b1 master@{3}: merge kernel/master: Fast-forward\nb387c master@{4}: merge kernel/master: Fast-forward\n9b795 master@{5}: merge kernel/master: Fast-forward\n4dcdc master@{6}: merge jx/zh_CN: Fast-forward\na09ab0 master@{7}: merge de-ralfth/master: Fast-forward\n674c5\n\n$ git reflog show -v -v master\nedca41 master@{0}: merge kernel/master: Fast-forward\n    >> Fri, 24 May 2013 11:34:46 -0700 (6 days ago), by Junio C\nHamano: Git 1.8.3\n5e49f master@{1}: merge kernel/master: Fast-forward\n    >> Tue, 21 May 2013 09:33:24 -0700 (9 days ago), by Felipe\nContreras: remote-hg: fix order of configuration comments\nde3a5 master@{2}: merge kernel/master: Fast-forward\n    >> Fri, 17 May 2013 12:19:20 -0700 (13 days ago), by Junio C\nHamano: Git 1.8.3-rc3\n0c2b1 master@{3}: merge kernel/master: Fast-forward\n    >> Wed, 15 May 2013 14:58:56 -0700 (2 weeks ago), by Junio C\nHamano: Merge branch 'fc/remote-hg' (early part)\nb387c master@{4}: merge kernel/master: Fast-forward\n    >> Thu, 9 May 2013 13:32:54 -0700 (3 weeks ago), by Junio C\nHamano: Sync with v1.8.2.3\n9b795 master@{5}: merge kernel/master: Fast-forward\n    >> Tue, 7 May 2013 22:50:05 -0700 (3 weeks ago), by Junio C\nHamano: Update draft release notes for 1.8.3\n4dcdc master@{6}: merge jx/zh_CN: Fast-forward\n    >> Wed, 8 May 2013 08:13:32 +0800 (3 weeks ago), by Jiang Xin:\nl10n: zh_CN.po: translate 44 messages (2080t0f0u)\na09ab0 master@{7}: merge de-ralfth/master: Fast-forward\n    >> Tue, 7 May 2013 19:28:19 +0200 (3 weeks ago), by Ralf Thielow:\nl10n: de.po: translate 44 new messages\n674c5 :\n    >> Wed, 1 May 2013 19:49:18 +0800 (4 weeks ago), by Jiang Xin:\nMerge remote-tracking branch 'vi-vnwildman/master'\n\n\n-- \n蒋鑫\n\n北京群英汇信息技术有限公司\n邮件: worldhello.net@gmail.com\n网址: http://www.ossxp.com/\n博客: http://www.worldhello.net/\n微博: http://weibo.com/gotgit/\n电话: 18601196889\n"}]}