Show More
@@ -359,17 +359,21 b' class basicstore(object):' | |||||
359 | l.sort() |
|
359 | l.sort() | |
360 | return l |
|
360 | return l | |
361 |
|
361 | |||
362 | def datafiles(self): |
|
362 | def datafiles(self, matcher=None): | |
363 | return self._walk('data', True) + self._walk('meta', True) |
|
363 | return self._walk('data', True) + self._walk('meta', True) | |
364 |
|
364 | |||
365 | def topfiles(self): |
|
365 | def topfiles(self): | |
366 | # yield manifest before changelog |
|
366 | # yield manifest before changelog | |
367 | return reversed(self._walk('', False)) |
|
367 | return reversed(self._walk('', False)) | |
368 |
|
368 | |||
369 | def walk(self): |
|
369 | def walk(self, matcher=None): | |
370 |
'''yields (unencoded, encoded, size) |
|
370 | '''yields (unencoded, encoded, size) | |
|
371 | ||||
|
372 | if a matcher is passed, storage files of only those tracked paths | |||
|
373 | are passed with matches the matcher | |||
|
374 | ''' | |||
371 | # yield data files first |
|
375 | # yield data files first | |
372 | for x in self.datafiles(): |
|
376 | for x in self.datafiles(matcher): | |
373 | yield x |
|
377 | yield x | |
374 | for x in self.topfiles(): |
|
378 | for x in self.topfiles(): | |
375 | yield x |
|
379 | yield x | |
@@ -407,7 +411,7 b' class encodedstore(basicstore):' | |||||
407 | self.vfs = vfsmod.filtervfs(vfs, encodefilename) |
|
411 | self.vfs = vfsmod.filtervfs(vfs, encodefilename) | |
408 | self.opener = self.vfs |
|
412 | self.opener = self.vfs | |
409 |
|
413 | |||
410 | def datafiles(self): |
|
414 | def datafiles(self, matcher=None): | |
411 | for a, b, size in super(encodedstore, self).datafiles(): |
|
415 | for a, b, size in super(encodedstore, self).datafiles(): | |
412 | try: |
|
416 | try: | |
413 | a = decodefilename(a) |
|
417 | a = decodefilename(a) | |
@@ -536,7 +540,7 b' class fncachestore(basicstore):' | |||||
536 | def getsize(self, path): |
|
540 | def getsize(self, path): | |
537 | return self.rawvfs.stat(path).st_size |
|
541 | return self.rawvfs.stat(path).st_size | |
538 |
|
542 | |||
539 | def datafiles(self): |
|
543 | def datafiles(self, matcher=None): | |
540 | for f in sorted(self.fncache): |
|
544 | for f in sorted(self.fncache): | |
541 | ef = self.encode(f) |
|
545 | ef = self.encode(f) | |
542 | try: |
|
546 | try: |
General Comments 0
You need to be logged in to leave comments.
Login now