On Thu, Oct 19, 2017 at 1:26 PM, Jeff King <peff@xxxxxxxx> wrote: > Commit fa5ba2c1dd (diff: fix infinite loop with > --color-moved --ignore-space-change, 2017-10-12) added a > test to make sure that "--color-moved -b" doesn't run > forever, but the test in question doesn't actually have any > moved lines in it. > > Let's scrap that test and add a variant of the existing > "--color-moved -w" test, but this time we'll check that we > find the move with whitespace changes, but not arbitrary > whitespace additions. > > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > + > + git diff HEAD --no-renames --color-moved --color | > + grep -v "index" | > + test_decode_color >actual && The -v index grep makes it future proof (for a new hash)! I like that. What I do not like is the pipe at the end of git-diff as we certainly want to inspect the return code (or for a segfault ;) > + git diff HEAD --no-renames -b --color-moved --color | > + grep -v "index" | > + test_decode_color >actual && Do we need (or rather want) to give --color additionally, instead of having --color-moved imply it? I guess this is extra carefulness from the "color always" series? > test_expect_success 'clean up whitespace-test colors' ' > git config --unset color.diff.oldMoved && > git config --unset color.diff.newMoved > @@ -1549,13 +1613,4 @@ test_expect_success 'move detection with submodules' ' > test_cmp expect decoded_actual > ' > > -test_expect_success 'move detection with whitespace changes' ' > - test_when_finished "git reset --hard" && > - test_seq 10 >test && > - git add test && > - sed s/3/42/ <test >test.tmp && > - mv test.tmp test && > - git -c diff.colormoved diff --ignore-space-change -- test > -' Ok, this is covered above in testing for the unchanged lines (1-5)