[PATCH 3 of 6] dirstate: move initial dirs calculation to a top-level function
Bryan O'Sullivan
bos at serpentine.com
Thu Mar 28 20:22:45 CDT 2013
# HG changeset patch
# User Bryan O'Sullivan <bryano at fb.com>
# Date 1364520157 25200
# Thu Mar 28 18:22:37 2013 -0700
# Node ID 9479dece303d06808cce9e2e3d0a196511fe6ba8
# Parent 42348ed8d9a218eee27b40b48d368aed552c1452
dirstate: move initial dirs calculation to a top-level function
This refactoring prepares us for an upcoming rewrite in C.
diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -45,6 +45,13 @@ def _decdirs(dirs, path):
return
del dirs[base]
+def _calcdirs(m):
+ dirs = {}
+ for f, s in m.iteritems():
+ if s[0] != 'r':
+ _incdirs(dirs, f)
+ return dirs
+
class dirstate(object):
def __init__(self, opener, ui, root, validate):
@@ -113,11 +120,7 @@ class dirstate(object):
@propertycache
def _dirs(self):
- dirs = {}
- for f, s in self._map.iteritems():
- if s[0] != 'r':
- _incdirs(dirs, f)
- return dirs
+ return _calcdirs(self._map)
def iterdirs(self):
return self._dirs.iterkeys()
More information about the Mercurial-devel
mailing list