durham created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY As part of moving the dirstate storage logic to a separate class, lets move the filfoldmap computation to that class. This will allow extensions to replace the dirstate storage with something that persists the filefoldmap. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D754 AFFECTED FILES mercurial/dirstate.py CHANGE DETAILS diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -160,21 +160,7 @@ @propertycache def _filefoldmap(self): - try: - makefilefoldmap = parsers.make_file_foldmap - except AttributeError: - pass - else: - return makefilefoldmap(self._map._map, util.normcasespec, - util.normcasefallback) - - f = {} - normcase = util.normcase - for name, s in self._map.iteritems(): - if s[0] != 'r': - f[normcase(name)] = name - f['.'] = '.' # prevents useless util.fspath() invocation - return f + return self._map.filefoldmap() @propertycache def _dirfoldmap(self): @@ -1370,3 +1356,19 @@ otherparent.add(fname) return nonnorm, otherparent + def filefoldmap(self): + try: + makefilefoldmap = parsers.make_file_foldmap + except AttributeError: + pass + else: + return makefilefoldmap(self._map, util.normcasespec, + util.normcasefallback) + + f = {} + normcase = util.normcase + for name, s in self._map.iteritems(): + if s[0] != 'r': + f[normcase(name)] = name + f['.'] = '.' # prevents useless util.fspath() invocation + return f To: durham, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list [email protected] https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
