On Wed, Sep 28, 2016 at 10:34:51PM -0700, Kyle J. McKay wrote:

> git log-times --graph --date-order --decorate --no-merges -n 5 v2.5.3
>     === 2015-09-17 ===
>   * ee6ad5f4 12:16 jch (tag: v2.5.3) Git 2.5.3
>     === 2015-09-09 ===
>   * b9d66899 14:22 js  am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
>   |   === 2015-09-04 ===
>   | * 27ea6f85 10:46 jch (tag: v2.5.2) Git 2.5.2
>   * 74b67638 10:36 jch (tag: v2.4.9) Git 2.4.9
>                        ..........
>   * ecad27cf 10:32 jch (tag: v2.3.9) Git 2.3.9

I was surprised to see this as a separate script, but it is true that we
cannot quite pull it off with --format. I think we are very close,
though.  With the patches below I think you can do:

  git log \
    --commit-header='%C(auto,bold blue)== %as ==%C(auto,reset)'
    --format='%C(auto)%h %C(auto,green)%ad 
%C(auto,red)%aS/%cS%C(auto)%d%C(auto,reset) %s' \
    --graph --no-merges --author-date-order --date=format:%H:%M

and get the same (or very similar) output.

  [1/5]: pretty: allow formatting DATE_SHORT
  [2/5]: pretty: allow formatting names as initials
  [3/5]: graph: fix extra spaces in graph_padding_line
  [4/5]: graph: helper functions for printing commit header
  [5/5]: log: add --commit-header option

Each of those commits[1] needs some minor polish, and as I'm not really
that interested in fancy log output myself, I don't plan on working on
them further. I was mostly curious just how close we were. But if you'd
like to pursue it, feel free to use them as a starting point.


[1] Actually, I think patch 3 is a legitimate bug fix on its own but I
    do not think there is any way to actually trigger it in practice
    without the rest of this series.

Reply via email to