mergestate: use collections.defaultdict(dict) for _stateextras
authorPulkit Goyal <7895pulkit@gmail.com>
Mon, 10 Aug 2020 15:09:44 +0530
changeset 45381 ede4c121239e
parent 45380 f0735f2ce542
child 45382 0652a533fe3c
mergestate: use collections.defaultdict(dict) for _stateextras I want to use this _stateextras more in upcoming patches to store some commit time related information. Using defaultdict will help in cleaner code around checking whether a file exists or not. Differential Revision: https://phab.mercurial-scm.org/D8919
mercurial/mergestate.py
--- a/mercurial/mergestate.py	Mon Aug 03 23:41:50 2020 -0700
+++ b/mercurial/mergestate.py	Mon Aug 10 15:09:44 2020 +0530
@@ -1,5 +1,6 @@
 from __future__ import absolute_import
 
+import collections
 import errno
 import shutil
 import struct
@@ -194,7 +195,7 @@
 
     def reset(self, node=None, other=None, labels=None):
         self._state = {}
-        self._stateextras = {}
+        self._stateextras = collections.defaultdict(dict)
         self._local = None
         self._other = None
         self._labels = labels
@@ -220,7 +221,7 @@
         of on disk file.
         """
         self._state = {}
-        self._stateextras = {}
+        self._stateextras = collections.defaultdict(dict)
         self._local = None
         self._other = None
         for var in ('localctx', 'otherctx'):
@@ -626,7 +627,7 @@
                 yield f
 
     def extras(self, filename):
-        return self._stateextras.setdefault(filename, {})
+        return self._stateextras[filename]
 
     def _resolve(self, preresolve, dfile, wctx):
         """rerun merge process for file path `dfile`.