merge: remove emptyactions() and use collections.defaultdict(list) instead
authorPulkit Goyal <7895pulkit@gmail.com>
Thu, 06 Aug 2020 13:27:38 +0530
changeset 45348 490607efc992
parent 45347 1aef38d973e8
child 45349 442823f66889
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
hgext/largefiles/overrides.py
mercurial/merge.py
--- 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,