This is a resend of sb/diff-color-move-more
https://public-inbox.org/git/[email protected]/
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 (9):
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
Documentation/diff-options.txt | 30 +++-
diff.c | 253 +++++++++++++++++++++++++++++----
diff.h | 9 +-
t/t4015-diff-whitespace.sh | 243 ++++++++++++++++++++++++++-----
xdiff/xdiff.h | 8 --
xdiff/xdiffi.c | 17 ---
6 files changed, 472 insertions(+), 88 deletions(-)
--
2.18.0.203.gfac676dfb9-goog
1: 7199e9b5608 ! 1: 7d58ad461cb diff.c: decouple white space treatment from
move detection algorithm
@@ -207,9 +207,8 @@
+ EOF
+
+ # Make sure we get a different diff using -w
-+ git diff --color --color-moved -w |
-+ grep -v "index" |
-+ test_decode_color >actual &&
++ git diff --color --color-moved -w >actual.raw &&
++ grep -v "index" actual.raw | test_decode_color >actual &&
+ q_to_tab <<-\EOF >expected &&
+ <BOLD>diff --git a/text.txt b/text.txt<RESET>
+ <BOLD>--- a/text.txt<RESET>
@@ -224,9 +223,8 @@
+
+ # And now ignoring white space only in the move detection
+ git diff --color --color-moved \
-+
--color-moved-ws=ignore-all-space,ignore-space-change,ignore-space-at-eol |
-+ grep -v "index" |
-+ test_decode_color >actual &&
++
--color-moved-ws=ignore-all-space,ignore-space-change,ignore-space-at-eol
>actual.raw &&
++ grep -v "index" actual.raw | test_decode_color >actual &&
+ q_to_tab <<-\EOF >expected &&
+ <BOLD>diff --git a/text.txt b/text.txt<RESET>
+ <BOLD>--- a/text.txt<RESET>
2: 5626d523b70 = 2: f08353f2a02 diff.c: factor advance_or_nullify out of
mark_color_as_moved
3: e2f1e573699 ! 3: 3fde7cf2194 diff.c: add white space mode to move
detection that allows indent changes
@@ -339,30 +339,6 @@
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
--- a/t/t4015-diff-whitespace.sh
+++ b/t/t4015-diff-whitespace.sh
-@@
- EOF
-
- # Make sure we get a different diff using -w
-- git diff --color --color-moved -w |
-- grep -v "index" |
-- test_decode_color >actual &&
-+ git diff --color --color-moved -w >actual.raw &&
-+ grep -v "index" actual.raw | test_decode_color >actual &&
- q_to_tab <<-\EOF >expected &&
- <BOLD>diff --git a/text.txt b/text.txt<RESET>
- <BOLD>--- a/text.txt<RESET>
-@@
-
- # And now ignoring white space only in the move detection
- git diff --color --color-moved \
--
--color-moved-ws=ignore-all-space,ignore-space-change,ignore-space-at-eol |
-- grep -v "index" |
-- test_decode_color >actual &&
-+
--color-moved-ws=ignore-all-space,ignore-space-change,ignore-space-at-eol
>actual.raw &&
-+ grep -v "index" actual.raw | test_decode_color >actual &&
- q_to_tab <<-\EOF >expected &&
- <BOLD>diff --git a/text.txt b/text.txt<RESET>
- <BOLD>--- a/text.txt<RESET>
@@
test_cmp expected actual
'