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.
+ hg init
+ hg id
unknown
+ hg add a
+ hg commit -m test -d 0 0
+ hg co
+ hg identify
acb14030fe0a tip
+ hg -q tip
acb14030fe0a21b60322c440ad2d20cf7685a376 first
+ hg add .hgtags
+ hg commit -m add tags -d 0 0
+ hg tags
tip 1:b53d0e1f3043ecbccf1b9ad2cea562c1b50462b2
first 0:acb14030fe0a21b60322c440ad2d20cf7685a376
hg -q tip ?:?
+ hg identify
b53d0e1f3043 tip
+ hg status
M a
+ hg identify
b53d0e1f3043+ tip
+ hg co first
+ hg id
acb14030fe0a+ first
+ hg -v id
acb14030fe0a21b60322c440ad2d20cf7685a376+ first
+ hg status
M a
+ hg add b
+ hg commit -m branch -d 0 0
+ hg id
c8edf04160c7 tip
+ hg co -m 1
+ hg id
c8edf04160c7+b53d0e1f3043+ tip
+ hg status
M .hgtags
M a