Parth Gala <parthpgala@xxxxxxxxx> writes:
I went through the discussions here[1] and here[2] and what I could
conclude from [1] is, the 'git log --oneline' command currently shows the
decorations of a commit before the commit message but after the shortened
hash due to which the alignment of the messages is disturbed like this,
3f07dac29 (HEAD -> master) pathspec: don't error out on all-excl...
ca4a562f2 pathspec magic: add '^' as alias for '!'
02555c1b2 ls-remote: add "--diff" option to show only refs that differ
6e3a7b339 (tag: v2.12.0-rc0, origin/master, origin/HEAD) Git 2.12-rc0
fafca0f72 Merge branch 'cw/log-updates-for-all-refs-really'
74dee5cfa Merge branch 'pl/complete-diff-submodule-diff'
36acf4123 Merge branch 'rs/object-id'
And if the decorations were to be shown after the message and you were
checking the logs just to see the status of a branch rather than the
contents then you would again be at a disadvantage, since you would want
to have them visible right next to the hashes. Besides decorations at the
end would have the inconvenience of being truncated at the end of the line
on smaller screens.
This format for --oneline with decorations was decided upon,
b9df16a4c (HEAD -> master)
pathspec: don't error out on all-exclusionary pathspec patterns
91a491f05 pathspec magic: add '^' as alias for '!'
c8e05fd6d ls-remote: add "--diff" option to show only refs that differ
20769079d (tag: v2.12.0-rc2, origin/master, origin/HEAD)
Git 2.12-rc2
076c05393 Hopefully the final batch of mini-topics before the final
Hmph. Who decided that such a format is a good idea? I do not see
anything decided positively in the thread [1] you referred to.
Okay, right.
But this format does overcome the problems discussed in that thread.
And yes, if `--oneline` is preferred to consume no more than one line,
then as you mentioned below, a `--pretty=concise` format seems to be a
good idea here.
In [2] such formats with date and timestamp are discussed along with
compatibility for --graph option as well,
=== 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
So these are the two main formats to be enhanced along with as many options
of log as possible. What are your views on this ?
Making the "--oneline" format to consume more than one line for a
commit is probably not what we want anyway.
For this format can we build a new option say `--time` or `--log-time`(duh!)
which is compatible only when the other options don't include --notes,
--pretty or --format(in which case `--log-time` option gets ignored).
Here I will have to probably build upon Jeff's work to include the
other options that the script supports too.
Coming up with a new format (say, "--pretty=concise"), or a new
option that tweaks the behaviour of "--oneline", are possible ways
to add a new feature without disrupting existing users' use cases,
though.
Thanks.