# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1598442653 -19800 # Node ID ccd3bf4490c1e19d584a67f7ba283d62091c2b64 # Parent 4532e7ebde4d9eb5011b78fb537879bcc67b30c4 merge: show list of bids for each file in bid-merge in ui.debug() Earlier, we were showing the list of bids only when we were ambiguously picking. However, the cases where we unambiguously picked a side may not always be correct and need to be fixed. Having list of bids for all files will be helpful in debugging. Differential Revision: https://phab.mercurial-scm.org/D8966 diff -r 4532e7ebde4d -r ccd3bf4490c1 mercurial/merge.py --- a/mercurial/merge.py Mon Sep 14 19:39:51 2020 +0900 +++ b/mercurial/merge.py Wed Aug 26 17:20:53 2020 +0530 @@ -1157,6 +1157,11 @@ ) mresult = mergeresult() for f, bids in sorted(fbids.items()): + if repo.ui.debugflag: + repo.ui.debug(b" list of bids for %s:\n" % f) + for m, l in sorted(bids.items()): + for _f, args, msg in l: + repo.ui.debug(b' %s -> %s\n' % (msg, m)) # bids is a mapping from action method to list af actions # Consensus? if len(bids) == 1: # all bids are the same kind of method diff -r 4532e7ebde4d -r ccd3bf4490c1 tests/test-merge-criss-cross.t --- a/tests/test-merge-criss-cross.t Mon Sep 14 19:39:51 2020 +0900 +++ b/tests/test-merge-criss-cross.t Wed Aug 26 17:20:53 2020 +0530 @@ -150,7 +150,13 @@ f2: remote unchanged -> k auction for merging merge bids (2 ancestors) + list of bids for f1: + remote is newer -> g + versions differ -> m f1: picking 'get' action + list of bids for f2: + remote unchanged -> k + versions differ -> m f2: picking 'keep' action end of auction @@ -193,7 +199,13 @@ f2: remote is newer -> g auction for merging merge bids (2 ancestors) + list of bids for f1: + remote unchanged -> k + versions differ -> m f1: picking 'keep' action + list of bids for f2: + remote is newer -> g + versions differ -> m f2: picking 'get' action end of auction @@ -258,7 +270,13 @@ f2: remote unchanged -> k auction for merging merge bids (2 ancestors) + list of bids for f1: + remote is newer -> g + versions differ -> m f1: picking 'get' action + list of bids for f2: + remote unchanged -> k + versions differ -> m f2: picking 'keep' action end of auction @@ -431,8 +449,15 @@ d2/b: remote created -> g auction for merging merge bids (2 ancestors) + list of bids for d1/a: + other deleted -> r d1/a: consensus for r + list of bids for d1/b: + other deleted -> r d1/b: consensus for r + list of bids for d2/b: + remote created -> g + remote created -> g d2/b: consensus for g end of auction