git log --oneline alternative with dates, times and initialsv1.0
commit5b19e2cabfaff7eae33771eae5e805f07bc6a58e
authorKyle J. McKay <mackyle@gmail.com>
Wed, 12 Oct 2016 13:52:49 +0000 (12 06:52 -0700)
committerKyle J. McKay <mackyle@gmail.com>
Wed, 12 Oct 2016 13:52:49 +0000 (12 06:52 -0700)
treef1d9dc0b54544932b6fa517b7864581e7fbea5f9
git log --oneline alternative with dates, times and initials

The git-log-compact script provides a compact alternative to the
`git log --oneline` output that includes dates, times and author
and/or committer initials in a space efficient output format.

`git-log-compact` is intended to fill the gap between the single line
`--oneline` log output format and the multiline `--pretty=short` /
`--pretty=medium` output formats.

It is not strictly a one line per commit output format (but almost) and
while it only shows the title of each commit (like the short format) it
does include author and date information (similarly to the medium format)
except that timestamps are shown very compactly and author/committer
names are shown as initials.

This allows one to get a complete view of repository activity in a very
compact output format that can show many commits per screen full and is
fully compatible with the `--graph` option.

Simple example output from the Git repository:

git log-compact --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 have been wanting a compact one line output format that included dates,
times and initials for some time that is compatible with --graph, clearly
shows root commits and eliminates confusion over whether or not two adjacent
lines in the output are related as parent/child (the --show-linear-break
option does not work with --graph).

The git-log-compact utility is the result.  Except for --notes, --pretty and
--format options (which would make the output a non-oneline format) any
other `git log` option may be used (including things like --cherry-mark,
--patch, --raw, --stat, --summary, --show-linear-break etc.),

There are a few new options specific to git-log-compact which are described
in the README and the `git-log-compact -h` output that can be used to alter
the dates, times and/or initials displayed.

More example images and the fully formatted help text are available at:

     https://mackyle.github.io/git-log-compact/

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
13 files changed:
.gitattributes [new file with mode: 0644]
LICENSE [new file with mode: 0644]
README [new file with mode: 0644]
README.md [new symlink]
git-log-compact [new file with mode: 0755]
www/examples.html [new file with mode: 0644]
www/git-log-compact.gif [new file with mode: 0644]
www/image1.gif [new file with mode: 0644]
www/image2.gif [new file with mode: 0644]
www/image3.gif [new file with mode: 0644]
www/image4.gif [new file with mode: 0644]
www/image5.gif [new file with mode: 0644]
www/index.html [new file with mode: 0644]