mdiff: fix diff -b/B/w on mixed whitespace hunks (issue127)
Previous code was computing hunks then checking if these hunks could be ignored
when taking whitespace/blank-lines options in accounts. This approach is simple
but fails with hunks containing both whitespace and non-whitespace changes, the
whole hunk is emitted while it can be mostly made of whitespace. The new
version normalize the whitespaces before hunk generation, and test for
blank-lines afterwards.
adding dir/bar
adding foo
dir/bar
foo
committed changeset 0:d44511117907
adding dir/bar_2
adding foo_2
dir/bar_2
foo_2
committed changeset 1:a85812e0561a
adding a
adding c
removing a
adding b
removing c
adding d
recording removal of a as rename to b (100% similar)
removing a
adding b
removing c
adding d
recording removal of a as rename to b (100% similar)