log/diff option parsing unification

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:23

Linus,

I kept your log/diff option parsing stuff with a few fixups for
about 3 hours in the "next" branch, but dropped and replaced
them with an alternative with lesser impact.  I freely admit
that what you write is nicer and cleaner than what I do 99.9% of
the time, but I think this time it is justified.  We have been
telling people that their scripts can expect certain output
format out of the lowest level Plumbing such as rev-list and
diff-tree.  I just do not want to break it, and doing things
with very unified way seemed to be too much hassle to keep
everything compatible.

On the other hand, I am much more relaxed if 'git-log' and
'git-whatchanged' output are not bit-for-bit identical to their
shell script versions.  You (not "Linus, you" but figuratively
you) would be crazy if you have been feeding their output to
your own scripts with such an expectation.  The rule-of-thumb I
apply here is that anything that has built-in pager is primarily
for human consumption, and the stability of its output format is
a fair game, especially when the modified behaviour results in
better output for humans.

I might regret this later when we try to do the internal "git
diff", but it is already tomorrow morning now, so I'll crash
first.

This option parsing unification will be post 1.3.0, but it is
important enough that I suspect it will be the first topic to be
merged and disrupt the "master" branch for a while after 1.3.0.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help