D4850: store: pass matcher to store.datafiles()
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Wed Oct 17 14:53:05 UTC 2018
pulkit updated this revision to Diff 12210.
pulkit retitled this revision from "store: pass matcher to store.datafiles() and filter files according to it" to "store: pass matcher to store.datafiles()".
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D4850?vs=11602&id=12210
REVISION DETAIL
https://phab.mercurial-scm.org/D4850
AFFECTED FILES
mercurial/store.py
CHANGE DETAILS
diff --git a/mercurial/store.py b/mercurial/store.py
--- a/mercurial/store.py
+++ b/mercurial/store.py
@@ -359,17 +359,21 @@
l.sort()
return l
- def datafiles(self):
+ def datafiles(self, matcher=None):
return self._walk('data', True) + self._walk('meta', True)
def topfiles(self):
# yield manifest before changelog
return reversed(self._walk('', False))
- def walk(self):
- '''yields (unencoded, encoded, size)'''
+ def walk(self, matcher=None):
+ '''yields (unencoded, encoded, size)
+
+ if a matcher is passed, storage files of only those tracked paths
+ are passed with matches the matcher
+ '''
# yield data files first
- for x in self.datafiles():
+ for x in self.datafiles(matcher):
yield x
for x in self.topfiles():
yield x
@@ -407,7 +411,7 @@
self.vfs = vfsmod.filtervfs(vfs, encodefilename)
self.opener = self.vfs
- def datafiles(self):
+ def datafiles(self, matcher=None):
for a, b, size in super(encodedstore, self).datafiles():
try:
a = decodefilename(a)
@@ -536,7 +540,7 @@
def getsize(self, path):
return self.rawvfs.stat(path).st_size
- def datafiles(self):
+ def datafiles(self, matcher=None):
for f in sorted(self.fncache):
ef = self.encode(f)
try:
To: pulkit, #hg-reviewers, martinvonz
Cc: indygreg, martinvonz, mercurial-devel
More information about the Mercurial-devel
mailing list