manifestmerge: handle abort on local unknown, remote created files
This replaces the _checkunknown call in calculateupdates with a more
performant version. On a repository with over 150,000 files, this speeds up an
update by 0.6-0.8 seconds, which is up to 25%.
This does not introduce any UI changes. There is existing test coverage for
every case, mostly in test-merge*.t.
$ hg init
$ echo "nothing" > a
$ hg add a
$ hg commit -m ancestor
$ echo "something" > a
$ hg commit -m branch1
$ hg co 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo "something else" > a
$ hg commit -m branch2
created new head
$ hg merge 1
merging a
warning: conflicts during merge.
merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[1]
$ hg id
32e80765d7fe+75234512624c+ tip
$ cat a
<<<<<<< local
something else
=======
something
>>>>>>> other
$ hg status
M a
? a.orig