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.
Test update logic when there are renames
Update with local changes across a file rename
$ hg init
$ echo a > a
$ hg add a
$ hg ci -m a
$ hg mv a b
$ hg ci -m rename
$ echo b > b
$ hg ci -m change
$ hg up -q 0
$ echo c > a
$ hg up
merging a and b to b
warning: conflicts during merge.
merging b 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
[1]