# HG changeset patch # User Patrick Mezard # Date 1321216634 -3600 # Node ID 3774e1453ef49cd65da9571704c180b9ef5ca5f6 # Parent 00276525e2b72ee644a17e85deccef06cac11d96 diff: --ignore-blank-lines was too enthusiastic It was ignoring changes from: ab to: a b diff -r 00276525e2b7 -r 3774e1453ef4 mercurial/mdiff.py --- a/mercurial/mdiff.py Sat Nov 12 14:00:25 2011 +0100 +++ b/mercurial/mdiff.py Sun Nov 13 21:37:14 2011 +0100 @@ -72,7 +72,7 @@ text = re.sub('[ \t\r]+', ' ', text) text = text.replace(' \n', '\n') if blank and opts.ignoreblanklines: - text = re.sub('\n+', '', text) + text = re.sub('\n+', '\n', text).strip('\n') return text def diffline(revs, a, b, opts): diff -r 00276525e2b7 -r 3774e1453ef4 tests/test-diff-ignore-whitespace.t --- a/tests/test-diff-ignore-whitespace.t Sat Nov 12 14:00:25 2011 +0100 +++ b/tests/test-diff-ignore-whitespace.t Sun Nov 13 21:37:14 2011 +0100 @@ -442,3 +442,16 @@ New line not noticed when space change ignored: $ hg ndiff --ignore-blank-lines --ignore-all-space + +Do not ignore all newlines, only blank lines + + $ printf 'hello \nworld\ngoodbye world\n' > foo + $ hg ndiff --ignore-blank-lines + diff -r 540c40a65b78 foo + --- a/foo + +++ b/foo + @@ -1,2 +1,3 @@ + -hello world + +hello + +world + goodbye world