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. - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html