mercurial/merge.py
changeset 45481 6e474eec4be6
parent 45480 49ffaa4f65f6
child 45499 c4f14db3da1d
equal deleted inserted replaced
45480:49ffaa4f65f6 45481:6e474eec4be6
  1128         # {FILENAME1 : BID1, FILENAME2 : BID2}
  1128         # {FILENAME1 : BID1, FILENAME2 : BID2}
  1129         # BID is another dictionary which contains
  1129         # BID is another dictionary which contains
  1130         # mapping of following form:
  1130         # mapping of following form:
  1131         # {ACTION_X : [info, ..], ACTION_Y : [info, ..]}
  1131         # {ACTION_X : [info, ..], ACTION_Y : [info, ..]}
  1132         fbids = {}
  1132         fbids = {}
       
  1133         mresult = mergeresult()
  1133         diverge, renamedelete = None, None
  1134         diverge, renamedelete = None, None
  1134         for ancestor in ancestors:
  1135         for ancestor in ancestors:
  1135             repo.ui.note(_(b'\ncalculating bids for ancestor %s\n') % ancestor)
  1136             repo.ui.note(_(b'\ncalculating bids for ancestor %s\n') % ancestor)
  1136             mresult1 = manifestmerge(
  1137             mresult1 = manifestmerge(
  1137                 repo,
  1138                 repo,
  1154             if renamedelete is None or len(renamedelete) < len(
  1155             if renamedelete is None or len(renamedelete) < len(
  1155                 mresult1.renamedelete
  1156                 mresult1.renamedelete
  1156             ):
  1157             ):
  1157                 renamedelete = mresult1.renamedelete
  1158                 renamedelete = mresult1.renamedelete
  1158 
  1159 
       
  1160             # blindly update final mergeresult commitinfo with what we get
       
  1161             # from mergeresult object for each ancestor
       
  1162             # TODO: some commitinfo depends on what bid merge choose and hence
       
  1163             # we will need to make commitinfo also depend on bid merge logic
       
  1164             mresult._commitinfo.update(mresult1._commitinfo)
       
  1165 
  1159             for f, a in mresult1.filemap(sort=True):
  1166             for f, a in mresult1.filemap(sort=True):
  1160                 m, args, msg = a
  1167                 m, args, msg = a
  1161                 repo.ui.debug(b' %s: %s -> %s\n' % (f, msg, m))
  1168                 repo.ui.debug(b' %s: %s -> %s\n' % (f, msg, m))
  1162                 if f in fbids:
  1169                 if f in fbids:
  1163                     d = fbids[f]
  1170                     d = fbids[f]
  1172         # Pick the best bid for each file
  1179         # Pick the best bid for each file
  1173         repo.ui.note(
  1180         repo.ui.note(
  1174             _(b'\nauction for merging merge bids (%d ancestors)\n')
  1181             _(b'\nauction for merging merge bids (%d ancestors)\n')
  1175             % len(ancestors)
  1182             % len(ancestors)
  1176         )
  1183         )
  1177         mresult = mergeresult()
       
  1178         for f, bids in sorted(fbids.items()):
  1184         for f, bids in sorted(fbids.items()):
  1179             if repo.ui.debugflag:
  1185             if repo.ui.debugflag:
  1180                 repo.ui.debug(b" list of bids for %s:\n" % f)
  1186                 repo.ui.debug(b" list of bids for %s:\n" % f)
  1181                 for m, l in sorted(bids.items()):
  1187                 for m, l in sorted(bids.items()):
  1182                     for _f, args, msg in l:
  1188                     for _f, args, msg in l: