Fix 3-way-merge of original parent, workdir and new parent.
The dirstate has to match what is in the repository (what would be
checked out with 'hg update -C'), because the resulting file may be
identical to the new parent, or it may be completely different.
Previously the dirstate wasn't updated, so if you changed the file to
look like the original parent, it might be considered unmodified
relative to the new parent.
#!/bin/sh
set -e
mkdir r1
cd r1
hg init
echo a > a
hg addremove
hg commit -m "1" -d "0 0"
hg clone . ../r2
cd ../r2
hg up
echo abc > a
hg diff > ../d
sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/" < ../d
cd ../r1
echo b > b
echo a2 > a
hg addremove
hg commit -m "2" -d "0 0"
cd ../r2
hg -q pull ../r1
hg status
hg --debug up
hg --debug up -m
hg parents
hg -v history
hg diff > ../d
sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/" < ../d