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

Re: weird diff output?

From
Jeff King <peff@peff.net>
Date
Apr 14, 2016, 18:34 UTC
Message-ID
<20160414183405.GE22068@sigill.intra.peff.net>
In-Reply-To
<alpine.DEB.2.10.1604140639230.8340@zino>
On Thu, Apr 14, 2016 at 06:56:39AM -0700, Davide Libenzi wrote:
Show 10 quoted lines
> That was a zillions of years ago :) , but from a quick look at email
> thread, if you want to do it within xdiff, xdi_change_compact would be
> the place.  The issue is knowing in which situations one diff look
> better than another, and embedding an if-tis-do-tat logic deep into
> the core diff machinery.  In theory one could implement the same thing
> higher up, working with the unified diff text format, where maybe a
> user can provide its own diff post-process hook script.  In any case,
> that still leaves open the issue on what to shift in the diff chunks,
> and in which cases. Which is likely going to be language/format
> dependent. IMHO, it gets nasty pretty quickly.

Thanks, that's helpful. Stefan already came up with a heuristic that I implemented as a post-processing script in perl. It _seems_ to work pretty well in practice across multiple languages, so our next step was to implement it in an actual usable and efficient way. :)

Looking over the code, I agree that xdl_change_compact() is the place we would want to put it. We'd probably tie it to a command-line option and let people play around with it, and then consider making it the default if there's widespread approval.

-Peff
Previous: Davide LibenziNext: Stefan Beller
Message 18 of 27 in “weird diff output?”
  1. Jacob KellerMar 29, 2016
  2. Stefan BellerMar 29, 2016
  3. Junio C HamanoMar 29, 2016
  4. Stefan BellerMar 29, 2016
  5. Jacob KellerMar 29, 2016
  6. Junio C HamanoMar 30, 2016
  7. Jeff KingMar 30, 2016
  8. Stefan BellerMar 30, 2016
  9. Jacob KellerMar 30, 2016
  10. Jacob KellerMar 30, 2016
  11. Jacob KellerMar 30, 2016
  12. Stefan BellerMar 30, 2016
  13. Junio C HamanoApr 1, 2016
  14. Jeff KingMar 31, 2016
  15. Jacob KellerApr 6, 2016
  16. Stefan BellerApr 12, 2016
  17. Davide LibenziApr 14, 2016
  18. Jeff KingApr 14, 2016
  19. Stefan BellerApr 14, 2016
  20. Implement better chunk heuristics.Stefan Beller, Apr 15, 2016
  21. Jacob KellerApr 15, 2016
  22. Stefan BellerApr 15, 2016
  23. Jacob KellerApr 15, 2016
  24. Junio C HamanoApr 15, 2016
  25. Stefan BellerApr 15, 2016
  26. Jacob KellerApr 15, 2016
  27. Jeff KingApr 15, 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.