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

[PATCHv6 00/10] Reroll of sb/diff-color-move-more

From
Stefan Beller <sbeller@google.com>
Date
Jul 18, 2018, 19:31 UTC
Message-ID
<20180718193156.47365-1-sbeller@google.com>
v6:
* fixed issues hinted at by Andrei, thanks! (range-diff below)
* incorporates the new config option, sent separately previously.

v5: This is a resend of sb/diff-color-move-more https://public-inbox.org/git/20180629001958.85143-1-sbeller@google.com/ that fixes an errornous squashing within the series; the end result is the same. range diff is below. (As the latest cooking email said this series is going to land in next soon, I hope this is not too late of a resend; otherwise just ignore it as the end result is the same)

Thanks, Stefan

Stefan Beller (10):
  xdiff/xdiff.h: remove unused flags
  xdiff/xdiffi.c: remove unneeded function declarations
  t4015: avoid git as a pipe input
  diff.c: do not pass diff options as keydata to hashmap
  diff.c: adjust hash function signature to match hashmap expectation
  diff.c: add a blocks mode for moved code detection
  diff.c: decouple white space treatment from move detection algorithm
  diff.c: factor advance_or_nullify out of mark_color_as_moved
  diff.c: add white space mode to move detection that allows indent
    changes
  diff.c: offer config option to control ws handling in move detection
 Documentation/config.txt       |   5 +
 Documentation/diff-options.txt |  33 ++++-
 diff.c                         | 262 +++++++++++++++++++++++++++++----
 diff.h                         |   9 +-
 t/t4015-diff-whitespace.sh     | 243 +++++++++++++++++++++++++-----
 xdiff/xdiff.h                  |   8 -
 xdiff/xdiffi.c                 |  17 ---
 7 files changed, 489 insertions(+), 88 deletions(-)
1:  a512cd40cae ! 1:  aabbc4e8aff diff.c: add white space mode to move detection that allows indent changes
    @@ -27,8 +27,8 @@
         modes in the move detection.
     
         This patch brings some challenges, related to the detection of blocks.
    -    We need a white net the catch the possible moved lines, but then need to
    -    narrow down to check if the blocks are still in tact. Consider this
    +    We need a wide net to catch the possible moved lines, but then need to
    +    narrow down to check if the blocks are still intact. Consider this
         example (ignoring block sizes):
     
          - A
    @@ -254,7 +254,7 @@
     +		}
     +	}
     +
    -+	for (i = 0; i <pmb_nr; i++) {
    ++	for (i = 0; i < pmb_nr; i++) {
     +		if (got_match[i]) {
     +			/* Carry the white space delta forward */
     +			pmb[i]->next_line->wsd = pmb[i]->wsd;
-:  ----------- > 2:  f80fbe78d9b diff.c: offer config option to control ws handling in move detection
Next: Stefan Beller
Message 1 of 12 in “[PATCHv6 00/10] Reroll of sb/diff-color-move-more”
  1. Stefan BellerJul 18, 2018
  2. 01/10 xdiff/xdiff.h: remove unused flagsStefan Beller, Jul 18, 2018
  3. 02/10 xdiff/xdiffi.c: remove unneeded function declarationsStefan Beller, Jul 18, 2018
  4. 03/10 t4015: avoid git as a pipe inputStefan Beller, Jul 18, 2018
  5. 04/10 diff.c: do not pass diff options as keydata to hashmapStefan Beller, Jul 18, 2018
  6. 05/10 diff.c: adjust hash function signature to match hashmap expectationStefan Beller, Jul 18, 2018
  7. 06/10 diff.c: add a blocks mode for moved code detectionStefan Beller, Jul 18, 2018
  8. 07/10 diff.c: decouple white space treatment from move detection algorithmStefan Beller, Jul 18, 2018
  9. 08/10 diff.c: factor advance_or_nullify out of mark_color_as_movedStefan Beller, Jul 18, 2018
  10. 09/10 diff.c: add white space mode to move detection that allows indent changesStefan Beller, Jul 18, 2018
  11. 10/10 diff.c: offer config option to control ws handling in move detectionStefan Beller, Jul 18, 2018
  12. Junio C HamanoJul 19, 2018

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.