On Thu, Dec 01, 2016 at 12:52:05PM -0800, Junio C Hamano wrote:
> Jeff King <p...@peff.net> writes:
> > This takes the output of `diff-tree -z --raw` and feeds it
> > back to the later stages of the diff machinery to produce
> > diffs in other formats.
> A full circle. This reminds me of the experiment done more than 10
> years ago at the beginning of the "diffcore transformations" design.
Heh, I didn't even think to dig for prior art on the list.
In a sense this is just bringing the full power of diffcore out to the
scripting interface. The one missing component is that you can't
actually call diffcore_std() in the middle. The full pipeline would I
guess be something more like:
git diff-tree --raw -z $a $b |
git detect-renames |
git diff-pairs -p
or something. In my model it's sufficient for the rename detection to
happen as part of the first diff-tree (since it's a whole-tree operation
anyway, there's no benefit to breaking it up into chunks).