Chris Torek <chris.torek@xxxxxxxxx> writes: > This tension is relieved somewhat when there *are* separate > plumbing commands, such as `git diff-index` and `git diff-tree` > and so on, or `git rev-list` vs `git log`. Unfortunately there > are some commands, including `git log` itself, that have options > that are missing from the roughly-equivalent plumbing command, > and there are commands (such as `git stash` and `git status`) > that either do not have, or at one time lacked, plumbing command > equivalents or options. Yup. It is my pet peeve that more and more contributors got lazy and tweaked only Porcelain commands, without bothering to improve plumbing commands to match, while adding more features during the last decade. Unfortunately there is no easy remedy after such sins have been committed. Once people start using `git log` in their scripts, it is way too late to tell them to update their scripts to use `git log --porcelain`. The fact that you need to tell them is an admission that you already broke their scripts.