diff --git a/mercurial/commit.py b/mercurial/commit.py --- a/mercurial/commit.py +++ b/mercurial/commit.py @@ -361,6 +361,8 @@ def _filecommit( elif fparent2 != nullid: if ms.active() and ms.extras(fname).get(b'filenode-source') == b'other': fparent1, fparent2 = fparent2, nullid + elif ms.active() and ms.extras(fname).get(b'merged') != b'yes': + fparent1, fparent2 = fparent1, nullid # is one parent an ancestor of the other? else: fparentancestors = flog.commonancestorsheads(fparent1, fparent2) diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -1698,6 +1698,7 @@ def applyupdates( tocomplete = [] for f, args, msg in mergeactions: repo.ui.debug(b" %s: %s -> m (premerge)\n" % (f, msg)) + ms.addcommitinfo(f, {b'merged': b'yes'}) progress.increment(item=f) if f == b'.hgsubstate': # subrepo states need updating subrepoutil.submerge( @@ -1713,6 +1714,7 @@ def applyupdates( # merge for f, args, msg in tocomplete: repo.ui.debug(b" %s: %s -> m (merge)\n" % (f, msg)) + ms.addcommitinfo(f, {b'merged': b'yes'}) progress.increment(item=f, total=numupdates) ms.resolve(f, wctx) diff --git a/tests/test-backout.t b/tests/test-backout.t --- a/tests/test-backout.t +++ b/tests/test-backout.t @@ -718,6 +718,7 @@ Test usage of `hg resolve` in case of co ancestor path: foo (node f89532f44c247a0e993d63e3a734dd781ab04708) other path: foo (node f50039b486d6fa1a90ae51778388cad161f425ee) extra: ancestorlinknode = 91360952243723bd5b1138d5f26bd8c8564cb553 + extra: merged = yes $ mv .hg/merge/state2 .hg/merge/state2-moved $ hg debugmergestate -v no version 2 merge state diff --git a/tests/test-copies-chain-merge.t b/tests/test-copies-chain-merge.t --- a/tests/test-copies-chain-merge.t +++ b/tests/test-copies-chain-merge.t @@ -946,8 +946,7 @@ Merge: $ hg ci -m "mFB-change-m-0 $case_desc - the other way" created new head $ hg manifest --rev . --debug | grep " d" - 1c334238bd42ec85c6a0d83fd1b2a898a6a3215d 644 d (no-changeset missing-correct-output !) - 646ed7992dec41eb29635ab28268e7867d0e59a0 644 d (no-changeset known-bad-output !) + 1c334238bd42ec85c6a0d83fd1b2a898a6a3215d 644 d (no-changeset !) cea2d99c0fde64672ef61953786fdff34f16e230 644 d (changeset !) #if no-changeset $ hg debugindex d | ../no-linkrev @@ -961,7 +960,6 @@ Merge: 6 * 89c873a01d97 7b79e2fe0c89 17ec97e60577 7 * d55cb4e9ef57 000000000000 000000000000 8 * 1c334238bd42 7b79e2fe0c89 000000000000 - 9 * 646ed7992dec 7b79e2fe0c89 d8252ab2e760 (known-bad-output !) #else $ hg debugindex d | ../no-linkrev rev linkrev nodeid p1 p2 @@ -1917,10 +1915,12 @@ We upgrade a repository that is not usin ##### revision "mFB-change-m-0 merge with extra change - B side" ##### 1 sidedata entries entry-0014 size 14 - '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d' (known-bad-output !) - merged : d, ; (known-bad-output !) - '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00d' (missing-correct-output !) - touched : d, ; (missing-correct-output !) + '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00d' (no-upgraded no-upgraded-parallel !) + touched : d, ; (no-upgraded no-upgraded-parallel !) + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d' (upgraded-parallel known-bad-output !) + merged : d, ; (upgraded-parallel known-bad-output !) + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d' (upgraded known-bad-output !) + merged : d, ; (upgraded known-bad-output !) ##### revision "j-1" ##### 1 sidedata entries entry-0014 size 24 @@ -3357,13 +3357,7 @@ Merge: $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFB-change-m-0")' M b A d - h (filelog missing-correct-output !) - a (filelog known-bad-output !) - h (sidedata !) - h (upgraded !) - h (upgraded-parallel !) - h (changeset !) - h (compatibility !) + h A t p R a @@ -3422,10 +3416,6 @@ BROKEN: `hg log --follow ` relies | : o : f-1: rename h -> i :/ - o i-2: c -move-> d, s -move-> t (known-bad-output !) - | (known-bad-output !) - o i-1: a -move-> c, p -move-> s (known-bad-output !) - | (known-bad-output !) o i-0 initial commit: a b h p q r #else diff --git a/tests/test-histedit-non-commute-abort.t b/tests/test-histedit-non-commute-abort.t --- a/tests/test-histedit-non-commute-abort.t +++ b/tests/test-histedit-non-commute-abort.t @@ -84,6 +84,7 @@ insert unsupported advisory merge record ancestor path: e (node 0000000000000000000000000000000000000000) other path: e (node 6b67ccefd5ce6de77e7ead4f5292843a0255329f) extra: ancestorlinknode = 0000000000000000000000000000000000000000 + extra: merged = yes $ hg resolve -l U e diff --git a/tests/test-merge-changedelete.t b/tests/test-merge-changedelete.t --- a/tests/test-merge-changedelete.t +++ b/tests/test-merge-changedelete.t @@ -96,17 +96,20 @@ Non-interactive merge: other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -163,17 +166,20 @@ Interactive merge: other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "r") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -243,17 +249,20 @@ Interactive merge with bad input: other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "r") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes *** file1 does not exist --- file2 --- 2 @@ -307,17 +316,20 @@ Interactive merge with not enough input: other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes *** file1 does not exist --- file2 --- 2 @@ -358,17 +370,20 @@ Choose local versions of files other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "r") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "r") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -405,17 +420,20 @@ Choose other versions of files other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "r") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "r") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes *** file1 does not exist --- file2 --- 2 @@ -453,17 +471,20 @@ Fail other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -512,17 +533,20 @@ Force prompts with no input (should be s other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -573,17 +597,20 @@ Force prompts other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -631,17 +658,20 @@ Choose to merge all files other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff extra: merge-removal-candidate = yes + extra: merged = yes file: file3 (state "u") local path: file3 (hash d5b0a58bc47161b1b8a831084b366f757c4f0b11, flags "") ancestor path: file3 (node 2661d26c649684b482d10f91960cc3db683c38b4) other path: file3 (node a2644c43e210356772c7772a8674544a62e06beb) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -801,11 +831,13 @@ Non-interactive linear update ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -840,11 +872,13 @@ Choose local versions of files ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes file: file2 (state "r") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -877,11 +911,13 @@ Choose other versions of files ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes file: file2 (state "r") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes *** file1 does not exist --- file2 --- 2 @@ -916,11 +952,13 @@ Fail ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -963,11 +1001,13 @@ Force prompts with no input ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed @@ -1011,11 +1051,13 @@ Choose to merge all files ancestor path: file1 (node b8e02f6433738021a065f94175c7cd23db5f05be) other path: file1 (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes file: file2 (state "u") local path: file2 (hash 0000000000000000000000000000000000000000, flags "") ancestor path: file2 (node 5d9299349fc01ddd25d0070d149b124d8f10411e) other path: file2 (node e7c1328648519852e723de86c0c0525acd779257) extra: ancestorlinknode = ab57bf49aa276a22d35a473592d4c34b5abc3eff + extra: merged = yes --- file1 --- 1 changed diff --git a/tests/test-merge-criss-cross.t b/tests/test-merge-criss-cross.t --- a/tests/test-merge-criss-cross.t +++ b/tests/test-merge-criss-cross.t @@ -540,6 +540,7 @@ Do all the merge combination (from the deleted or the update side × keeping and deleting the file other path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460) extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589 extra: merge-removal-candidate = yes + extra: merged = yes extra: other-file (filenode-source = other) $ hg ci -m "merge-deleting-the-file-from-deleted" $ hg manifest @@ -563,6 +564,7 @@ Do all the merge combination (from the deleted or the update side × keeping and deleting the file other path: the-file (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589 extra: merge-removal-candidate = yes + extra: merged = yes $ hg ci -m "merge-deleting-the-file-from-updated" created new head $ hg manifest @@ -586,6 +588,7 @@ Do all the merge combination (from the deleted or the update side × keeping and deleting the file other path: the-file (node 59e363a07dc876278f0e41756236f30213b6b460) extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589 extra: merge-removal-candidate = yes + extra: merged = yes extra: other-file (filenode-source = other) $ hg ci -m "merge-keeping-the-file-from-deleted" created new head @@ -614,6 +617,7 @@ Do all the merge combination (from the deleted or the update side × keeping and deleting the file other path: the-file (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = 955800955977bd6c103836ee3e437276e940a589 extra: merge-removal-candidate = yes + extra: merged = yes $ hg ci -m "merge-keeping-the-file-from-updated" created new head $ hg manifest @@ -695,6 +699,7 @@ the conflict is properly detected. other path: the-file (node 885af55420b35d7bf3bbd6f546615295bfe6544a) extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071 extra: merge-removal-candidate = yes + extra: merged = yes #else $ hg debugmergestate local (working copy): adfd88e5d7d3d3e22bdd26512991ee64d59c1d8f @@ -763,6 +768,7 @@ BROKEN: this should result in conflict other path: the-file (node 885af55420b35d7bf3bbd6f546615295bfe6544a) extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071 extra: merge-removal-candidate = yes + extra: merged = yes #else $ hg debugmergestate local (working copy): a4e0e44229dc130be2915b92c957c093f8c7ee3e @@ -886,6 +892,7 @@ BROKEN: this should result in conflict other path: the-file (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071 extra: merge-removal-candidate = yes + extra: merged = yes #else $ hg debugmergestate local (working copy): e9b7081317232edce73f7ad5ae0b7807ff5c326a @@ -923,6 +930,7 @@ BROKEN: this should result in conflict other path: the-file (node 0000000000000000000000000000000000000000) extra: ancestorlinknode = 9b610631ab29024c5f44af7d2c19658ef8f8f071 extra: merge-removal-candidate = yes + extra: merged = yes #else $ hg debugmergestate local (working copy): e9b7081317232edce73f7ad5ae0b7807ff5c326a diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -1844,6 +1844,7 @@ The local node should now point to a non ancestor path: file (node bc7ebe2d260cff30d2a39a130d84add36216f791) other path: file (node b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3) extra: ancestorlinknode = b73b8c9a4ab4da89a5a35a6f10dfb13edc84ca37 + extra: merged = yes We should be able to see the log (without the deleted commit, of course) $ hg log -G @ 0:f53e9479dce5 (draft) [tip ] first diff --git a/tests/test-rebase-abort.t b/tests/test-rebase-abort.t --- a/tests/test-rebase-abort.t +++ b/tests/test-rebase-abort.t @@ -95,6 +95,7 @@ Insert unsupported advisory merge record ancestor path: common (node de0a666fdd9c1a0b0698b90d85064d8bd34f74b6) other path: common (node 2f6411de53677f6f1048fef5bf888d67a342e0a5) extra: ancestorlinknode = 3163e20567cc93074fbb7a53c8b93312e59dbf2c + extra: merged = yes $ hg resolve -l U common diff --git a/tests/test-resolve.t b/tests/test-resolve.t --- a/tests/test-resolve.t +++ b/tests/test-resolve.t @@ -255,11 +255,13 @@ insert unsupported advisory merge record ancestor path: file1 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd) other path: file1 (node 6f4310b00b9a147241b071a60c28a650827fb03d) extra: ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac + extra: merged = yes file: file2 (state "u") local path: file2 (hash cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523, flags "") ancestor path: file2 (node 2ed2a3912a0b24502043eae84ee4b279c18b90dd) other path: file2 (node 6f4310b00b9a147241b071a60c28a650827fb03d) extra: ancestorlinknode = 99726c03216e233810a2564cbc0adfe395007eac + extra: merged = yes $ hg resolve -l R file1 U file2 @@ -271,7 +273,7 @@ test json output { "commits": [{"label": "working copy", "name": "local", "node": "57653b9f834a4493f7240b0681efcb9ae7cab745"}, {"label": "merge rev", "name": "other", "node": "dc77451844e37f03f5c559e3b8529b2b48d381d1"}], "extras": [], - "files": [{"ancestor_node": "2ed2a3912a0b24502043eae84ee4b279c18b90dd", "ancestor_path": "file1", "extras": [{"key": "ancestorlinknode", "value": "99726c03216e233810a2564cbc0adfe395007eac"}], "local_flags": "", "local_key": "60b27f004e454aca81b0480209cce5081ec52390", "local_path": "file1", "other_node": "6f4310b00b9a147241b071a60c28a650827fb03d", "other_path": "file1", "path": "file1", "state": "r"}, {"ancestor_node": "2ed2a3912a0b24502043eae84ee4b279c18b90dd", "ancestor_path": "file2", "extras": [{"key": "ancestorlinknode", "value": "99726c03216e233810a2564cbc0adfe395007eac"}], "local_flags": "", "local_key": "cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523", "local_path": "file2", "other_node": "6f4310b00b9a147241b071a60c28a650827fb03d", "other_path": "file2", "path": "file2", "state": "u"}] + "files": [{"ancestor_node": "2ed2a3912a0b24502043eae84ee4b279c18b90dd", "ancestor_path": "file1", "extras": [{"key": "ancestorlinknode", "value": "99726c03216e233810a2564cbc0adfe395007eac"}, {"key": "merged", "value": "yes"}], "local_flags": "", "local_key": "60b27f004e454aca81b0480209cce5081ec52390", "local_path": "file1", "other_node": "6f4310b00b9a147241b071a60c28a650827fb03d", "other_path": "file1", "path": "file1", "state": "r"}, {"ancestor_node": "2ed2a3912a0b24502043eae84ee4b279c18b90dd", "ancestor_path": "file2", "extras": [{"key": "ancestorlinknode", "value": "99726c03216e233810a2564cbc0adfe395007eac"}, {"key": "merged", "value": "yes"}], "local_flags": "", "local_key": "cb99b709a1978bd205ab9dfd4c5aaa1fc91c7523", "local_path": "file2", "other_node": "6f4310b00b9a147241b071a60c28a650827fb03d", "other_path": "file2", "path": "file2", "state": "u"}] } ]