git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC/PATCH] add diff-pairs tool

From
Jeff King <peff@peff.net>
Date
Dec 1, 2016, 20:55 UTC
Message-ID
<20161201205504.flgaf7dwv3b3dkkd@sigill.intra.peff.net>
In-Reply-To
<xmqqbmwv8j9m.fsf@gitster.mtv.corp.google.com>
On Thu, Dec 01, 2016 at 12:52:05PM -0800, Junio C Hamano wrote:
Show 8 quoted lines
> Jeff King <peff@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).

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 8 in “add diff-pairs tool”
  1. add diff-pairs toolJeff King, Dec 1, 2016
  2. Junio C HamanoDec 1, 2016
  3. Jeff KingDec 1, 2016
  4. Junio C HamanoDec 1, 2016
  5. Junio C HamanoDec 1, 2016
  6. Jeff KingDec 1, 2016
  7. Junio C HamanoDec 1, 2016
  8. Jeff KingDec 1, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.