Mercurial > hg
changeset 45459:ccd3bf4490c1
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
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Wed, 26 Aug 2020 17:20:53 +0530 |
parents | 4532e7ebde4d |
children | 4b582a93316a |
files | mercurial/merge.py tests/test-merge-criss-cross.t |
diffstat | 2 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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