# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 2020-08-10 10:04:27 # Node ID f970cca309899d790d90af8386142aa0fad9d7af # Parent 0652a533fe3c2459cc909a55afd5f8763698715f merge: use collections.defaultdict() for mergeresult.commitinfo We will be storing info from mergeresult.commitinfo to mergestate._stateextras in upcoming patches, let's make them use same structure so that we don't have to make much efforts in transferring info from one to other. Differential Revision: https://phab.mercurial-scm.org/D8921 diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -579,7 +579,7 @@ class mergeresult(object): self._filemapping = {} self._diverge = {} self._renamedelete = {} - self._commitinfo = {} + self._commitinfo = collections.defaultdict(dict) self._actionmapping = collections.defaultdict(dict) def updatevalues(self, diverge, renamedelete, commitinfo): @@ -756,7 +756,7 @@ def manifestmerge( # information from merge which is needed at commit time # for example choosing filelog of which parent to commit # TODO: use specific constants in future for this mapping - commitinfo = {} + commitinfo = collections.defaultdict(dict) if followcopies: branch_copies1, branch_copies2, diverge = copies.mergecopies( repo, wctx, p2, pa @@ -844,7 +844,7 @@ def manifestmerge( b'remote is newer', ) if branchmerge: - commitinfo[f] = b'other' + commitinfo[f][b'filenode-source'] = b'other' elif nol and n2 == a: # remote only changed 'x' mresult.addfile( f, @@ -860,7 +860,7 @@ def manifestmerge( b'remote is newer', ) if branchmerge: - commitinfo[f] = b'other' + commitinfo[f][b'filenode-source'] = b'other' else: # both changed something mresult.addfile( f, @@ -1363,7 +1363,7 @@ def applyupdates( for f, op in pycompat.iteritems(mresult.commitinfo): # the other side of filenode was choosen while merging, store this in # mergestate so that it can be reused on commit - if op == b'other': + if op[b'filenode-source'] == b'other': ms.addmergedother(f) moves = []