[Request] [+ ] D8921: merge: use collections.defaultdict() for mergeresult.commitinfo
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Mon Aug 10 11:18:29 UTC 2020
pulkit created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
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.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D8921
AFFECTED FILES
mercurial/merge.py
CHANGE DETAILS
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -579,7 +579,7 @@
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 @@
# 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 @@
b'remote is newer',
)
if branchmerge:
- commitinfo[f] = b'other'
+ commitinfo[f][b'filenode'] = b'other'
elif nol and n2 == a: # remote only changed 'x'
mresult.addfile(
f,
@@ -860,7 +860,7 @@
b'remote is newer',
)
if branchmerge:
- commitinfo[f] = b'other'
+ commitinfo[f][b'filenode'] = b'other'
else: # both changed something
mresult.addfile(
f,
@@ -1363,7 +1363,7 @@
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'] == b'other':
ms.addmergedother(f)
moves = []
To: pulkit, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20200810/f2fca916/attachment-0001.html>
More information about the Mercurial-patches
mailing list