merge: when current branch has 1 or > 2 heads, actually abort.
Currently merge just prints abort-like messages to stderr and then
exits with a misleading status 0 (cleverly disguised as "False").
With this change it raises Abort, just like every other fatal error.
#!/bin/sh
hg init repo
cd repo
echo a > a
hg ci -qAm 'add a'
echo b > b
hg ci -qAm 'add b'
hg up -qC 0
hg rm a
hg ci -m 'rm a'
hg up -qC 1
rm a
echo '% local deleted a file, remote removed'
hg merge # should fail, since there are deleted files
hg -v merge --force
echo % should show a as removed
hg st
hg ci -m merge
echo % manifest. should not have a:
hg manifest