diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -88,12 +88,9 @@ def update(repo, node, branchmerge=False if modified or added or removed: raise util.Abort(_("outstanding uncommitted changes")) - m1n = repo.changelog.read(p1)[0] - m2n = repo.changelog.read(p2)[0] - man = repo.manifest.ancestor(m1n, m2n) - m1 = repo.manifest.read(m1n).copy() - m2 = repo.manifest.read(m2n).copy() - ma = repo.manifest.read(man) + m1 = repo.changectx(p1).manifest().copy() + m2 = repo.changectx(p2).manifest().copy() + ma = repo.changectx(pa).manifest() if not force: for f in unknown: @@ -108,7 +105,7 @@ def update(repo, node, branchmerge=False repo.ui.debug(_(" overwrite %s branchmerge %s partial %s linear %s\n") % (overwrite, branchmerge, bool(partial), linear_path)) repo.ui.debug(_(" ancestor %s local %s remote %s\n") % - (short(man), short(m1n), short(m2n))) + (short(p1), short(p2), short(pa))) action = {} forget = [] diff --git a/tests/test-merge7.out b/tests/test-merge7.out --- a/tests/test-merge7.out +++ b/tests/test-merge7.out @@ -23,7 +23,7 @@ added 1 changesets with 1 changes to 1 f merge: warning: conflicts during merge resolving manifests overwrite None branchmerge True partial False linear False - ancestor 055d847dd401 local 2eded9ab0a5c remote 84cf5750dd20 + ancestor 451c744aabcc local a070d41e8360 remote faaea63e63a9 test.txt versions differ, resolve merging test.txt resolving test.txt diff --git a/tests/test-up-local-change.out b/tests/test-up-local-change.out --- a/tests/test-up-local-change.out +++ b/tests/test-up-local-change.out @@ -16,7 +16,7 @@ summary: 1 resolving manifests overwrite False branchmerge False partial False linear True - ancestor a0c8bcbbb45c local a0c8bcbbb45c remote 1165e8bd193e + ancestor 33aaa84a386b local 802f095af299 remote 33aaa84a386b a versions differ, resolve remote created b merging a @@ -32,7 +32,7 @@ summary: 2 resolving manifests overwrite False branchmerge False partial False linear True - ancestor a0c8bcbbb45c local 1165e8bd193e remote a0c8bcbbb45c + ancestor 802f095af299 local 33aaa84a386b remote 33aaa84a386b remote deleted b removing b 0 files updated, 0 files merged, 1 files removed, 0 files unresolved @@ -50,7 +50,7 @@ summary: 1 resolving manifests overwrite False branchmerge False partial False linear True - ancestor a0c8bcbbb45c local a0c8bcbbb45c remote 1165e8bd193e + ancestor 33aaa84a386b local 802f095af299 remote 33aaa84a386b a versions differ, resolve remote created b merging a @@ -101,7 +101,7 @@ abort: outstanding uncommitted changes failed resolving manifests overwrite False branchmerge True partial False linear False - ancestor a0c8bcbbb45c local 1165e8bd193e remote 4096f2872392 + ancestor 802f095af299 local 030602aee63d remote 33aaa84a386b a versions differ, resolve b versions differ, resolve merging a diff --git a/tests/test-update-reverse.out b/tests/test-update-reverse.out --- a/tests/test-update-reverse.out +++ b/tests/test-update-reverse.out @@ -41,7 +41,7 @@ side1 side2 resolving manifests overwrite True branchmerge False partial False linear False - ancestor 8515d4bfda76 local 1c0f48f8ece6 remote 0594b9004bae + ancestor ded32b0db104 local 221226fb2bd8 remote 537353581d3d remote deleted side2, clobbering remote deleted side1, clobbering remote created main