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
echo a > a
hg ci -Am0
hg -q clone . foo
touch .hg/store/journal
echo foo > a
hg ci -Am0
hg recover
echo % check that zero-size journals are correctly aborted
hg bundle -qa repo.hg
chmod -w foo/.hg/store/00changelog.i
hg -R foo unbundle repo.hg 2>&1 | sed 's/\(abort: Permission denied\).*/\1/'
if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi
exit 0