fix traceback of extdiff after a merge
- files that comes from a different branch are marked as modified
but aren't present in the original manifest
- add a testcase for extdiff and for regular diff
#!/bin/sh
#
# test for branch handling
#
# XXX: need more tests
hg init
echo a > a
echo b > b
hg ci -A -m 0 -d "1000000 0"
echo aa > a
echo bb > b
hg ci -m 1 -d "1000000 0"
hg tag -l foo
hg update 0
hg parents -b
# test update
hg update -b foo
hg parents
# test merge
hg update 0
echo c > c
hg ci -A -m 0.0 -d "1000000 0"
hg merge -b foo
hg parents -b
# re-test with more branches
hg update -C 0
echo d > d
hg ci -A -m 0.0 -d "1000000 0"
hg merge -b foo
hg parents -b