Linus Torvalds [off-list ref] writes:
See what I'm saying?
...
The performance impact of pruning the pathnames _before_ diffing them was
absolutely staggering. You couldn't reasonably do a "git-whatchanged -p"
Yes, I understood and agreed to that logic on May 27th. That's
why the message you are responding said we could add a new flag,
to give the choice to the user to accept full-tree scan.
The "diff-tree --stdin that follows rename history" example
might want to have some change in either the core side of diff,
or in the rev-list. It may help to have both. I still haven't
thought through the issues.
BTW, I really liked your example that piped multiple diff-trees
together. That is a neat trick.