merge: fix spurious merges for copies in linear updates
We make better use of contexts to accurately identify copies that
don't need merges.
Add a simple test and update other tests.
uisetup called
ui.parentui is None
reposetup called for a
ui == repo.ui
Foo
uisetup called
ui.parentui is None
reposetup called for a
ui == repo.ui
reposetup called for b
ui == repo.ui
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
uisetup called
ui.parentui is None
Bar