imerge: fix ancestor calculation
If wctx already has two parents, ancestor calculation is wrong.
Normally merge is called before wctx gets the second parent, so
we simulate this in imerge by temporarily popping the second parent
before calling filemerge. Highly dirty.
This patch also handles the ParseError move from cmdutil to dispatch.
#!/bin/sh
# test command parsing and dispatch
hg init a
cd a
echo a > a
hg ci -Ama -d '0 0'
echo "# missing arg"
hg cat
echo '% [defaults]'
hg cat a
cat > $HGRCPATH <<EOF
[defaults]
cat = -v
EOF
hg cat a
echo '% no repo'
cd ..
hg cat
exit 0