Junio C Hamano <junkio@xxxxxxx> writes: > Here are a few problems I have seen: > > - "git show --stat HEAD" gives '---' marker as Johannes and you > have already discussed (I do not mind this that much though); > > - "--cc" seems to be quite broken. "git show v1.0.0" nor "git > diff-tree --pretty --cc v1.0.0" does not give the log > message, and gives something quite confused instead. I think > it is showing "-m -p" followed by "--cc". > > We may find more minor breakages, in addition to these, but I am > reasonably sure we should be able to fix them in-tree. Further impressions, while with a clean index and working tree. First the good ones (improvements). - "git diff-index --patch-with-raw HEAD" gives empty result; the traditional one shows one empty line. - "git diff-tree -p --stat" and "git diff-tree --stat -p" works, as you planned. - "git diff-tree --root --patch-with-raw --summary" works; the traditional one misses --summary. - "git show --name-only HEAD" works; the traditional one always does --cc -p; the same for "git show -s HEAD". Regressions, most of the minor. - "git diff-index -p --stat HEAD" gives one empty line; the traditional one gives empty. - "git diff-tree --patch-with-raw HEAD" for a non-merge commit misses the empty line between raw and patch. - "git diff-tree --cc HEAD" for an evil merge (a merge whose result does not match either parents, e.g. v1.0.0) shows extra two-tree diffs (presumably HEAD^1..HEAD and HEAD^2..HEAD) before showing what is expected. The same for "git show". - "git show --name-only HEAD" for an evil merge similarly shows extra two-tree diffs in --name-only format before showing what is expected. Presumably the same bug as the above. - "git diff-tree -c HEAD" for an evil merge shows extra newline after the output. - Neither "git diff-tree -m -s HEAD" for a merge, "git diff-tree -s HEAD" for a non-merge does not squelch the output; same for "git whatchanged". - "git log --raw HEAD" descends into subdirectories. It instead should show the top-level tree differences. - "git diff-tree --pretty --patch-with-stat HEAD" for a non-merge misses "---\n" before stat (I think you are aware of this). - "git show --cc HEAD" for a merge should do "---\n", followed by a stat for diff between HEAD^1..HEAD, followed by dense combined-diff for HEAD. - : 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