##// END OF EJS Templates
store: change `_walk` return to `(filename, (type, size))`...
marmoute -
r51371:1c0244a8 default
parent child Browse files
Show More
@@ -564,9 +564,10 b' class basicstore:'
564 564 rl_type = is_revlog(f, kind, st)
565 565 if rl_type is not None:
566 566 n = util.pconvert(fp[striplen:])
567 l.append((rl_type, decodedir(n), st.st_size))
567 l.append((decodedir(n), (rl_type, st.st_size)))
568 568 elif kind == stat.S_IFDIR and recurse:
569 569 visit.append(fp)
570
570 571 l.sort()
571 572 return l
572 573
@@ -591,7 +592,7 b' class basicstore:'
591 592 be a list and the filenames that can't be decoded are added
592 593 to it instead. This is very rarely needed."""
593 594 files = self._walk(b'data', True) + self._walk(b'meta', True)
594 for (t, u, s) in files:
595 for u, (t, s) in files:
595 596 if t is not None:
596 597 yield RevlogStoreEntry(
597 598 unencoded_path=u,
@@ -603,8 +604,11 b' class basicstore:'
603 604
604 605 def topfiles(self) -> Generator[BaseStoreEntry, None, None]:
605 606 # yield manifest before changelog
606 files = reversed(self._walk(b'', False))
607 for (t, u, s) in files:
607 files = self._walk(b'', False)
608 # key is (type, path) (keeping ordering so we get 00changelog.i last)
609 type_key = lambda x: (x[1][0], x[0])
610 files = sorted(files, reverse=True, key=type_key)
611 for u, (t, s) in files:
608 612 if u.startswith(b'00changelog'):
609 613 yield RevlogStoreEntry(
610 614 unencoded_path=u,
General Comments 0
You need to be logged in to leave comments. Login now