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.
#!/bin/sh
hg init
cat > a <<EOF
a
b
c
EOF
hg ci -Am adda
cat > a <<EOF
d
e
f
EOF
hg ci -m moda
hg diff --inverse -r0 -r1
cat >> a <<EOF
g
h
EOF
hg diff --inverse --nodates