On Thu, Dec 01, 2016 at 12:52:05PM -0800, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> 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). -Peff