merge: remove emptyactions() and use collections.defaultdict(list) instead
emptyactions() used to return a dict which was populated and passed into
applyupdates(). However, with recent changes, we no longer pass a plain dict,
instead we pass the mergeresult object.
There was only one usage of emptyactions and that too inside mergeresult object.
That usage is replaced with collections.defaultdict(list) instead.
Not sure why we were not using collections.defaultdict(list) from the beginning.
Differential Revision: https://phab.mercurial-scm.org/D8903
--- a/hgext/largefiles/overrides.py Wed Aug 05 16:52:51 2020 +0530
+++ b/hgext/largefiles/overrides.py Thu Aug 06 13:27:38 2020 +0530
@@ -497,14 +497,6 @@
orig(ui, repo, *pats, **opts)
-# Register the MERGE_ACTION_LARGEFILE_MARK_REMOVED in emptyactions() return type
-@eh.wrapfunction(merge, b'emptyactions')
-def overrideemptyactions(origfn):
- ret = origfn()
- ret[MERGE_ACTION_LARGEFILE_MARK_REMOVED] = []
- return ret
-
-
# Before starting the manifest merge, merge.updates will call
# _checkunknownfile to check if there are any files in the merged-in
# changeset that collide with unknown files in the working copy.
--- a/mercurial/merge.py Wed Aug 05 16:52:51 2020 +0530
+++ b/mercurial/merge.py Thu Aug 06 13:27:38 2020 +0530
@@ -687,7 +687,7 @@
def actionsdict(self):
""" returns a dictionary of actions to be perfomed with action as key
and a list of files and related arguments as values """
- res = emptyactions()
+ res = collections.defaultdict(list)
for a, d in pycompat.iteritems(self._actionmapping):
for f, (args, msg) in pycompat.iteritems(d):
res[a].append((f, args, msg))
@@ -1338,29 +1338,6 @@
)
-def emptyactions():
- """create an actions dict, to be populated and passed to applyupdates()"""
- return {
- m: []
- for m in (
- mergestatemod.ACTION_ADD,
- mergestatemod.ACTION_ADD_MODIFIED,
- mergestatemod.ACTION_FORGET,
- mergestatemod.ACTION_GET,
- mergestatemod.ACTION_CHANGED_DELETED,
- mergestatemod.ACTION_DELETED_CHANGED,
- mergestatemod.ACTION_REMOVE,
- mergestatemod.ACTION_DIR_RENAME_MOVE_LOCAL,
- mergestatemod.ACTION_LOCAL_DIR_RENAME_GET,
- mergestatemod.ACTION_MERGE,
- mergestatemod.ACTION_EXEC,
- mergestatemod.ACTION_KEEP,
- mergestatemod.ACTION_PATH_CONFLICT,
- mergestatemod.ACTION_PATH_CONFLICT_RESOLVE,
- )
- }
-
-
def applyupdates(
repo,
mresult,