##// END OF EJS Templates
debug-revlog-stats: make it use the new store entry API...
marmoute -
r51574:47b44d80 default
parent child Browse files
Show More
@@ -663,27 +663,6 b' def debug_delta_find(ui, revlog, rev, ba'
663 663 deltacomputer.finddeltainfo(revinfo, fh, target_rev=rev)
664 664
665 665
666 def _get_revlogs(repo, changelog: bool, manifest: bool, filelogs: bool):
667 """yield revlogs from this repository"""
668 if changelog:
669 yield repo.changelog
670
671 if manifest:
672 # XXX: Handle tree manifest
673 root_mf = repo.manifestlog.getstorage(b'')
674 assert not root_mf._treeondisk
675 yield root_mf._revlog
676
677 if filelogs:
678 files = set()
679 for rev in repo:
680 ctx = repo[rev]
681 files |= set(ctx.files())
682
683 for f in sorted(files):
684 yield repo.file(f)._revlog
685
686
687 666 def debug_revlog_stats(
688 667 repo, fm, changelog: bool, manifest: bool, filelogs: bool
689 668 ):
@@ -693,7 +672,17 b' def debug_revlog_stats('
693 672 """
694 673 fm.plain(b'rev-count data-size inl type target \n')
695 674
696 for rlog in _get_revlogs(repo, changelog, manifest, filelogs):
675 revlog_entries = [e for e in repo.store.walk() if e.is_revlog]
676 revlog_entries.sort(key=lambda e: (e.revlog_type, e.target_id))
677
678 for entry in revlog_entries:
679 if not changelog and entry.is_changelog:
680 continue
681 elif not manifest and entry.is_manifestlog:
682 continue
683 elif not filelogs and entry.is_filelog:
684 continue
685 rlog = entry.get_revlog_instance(repo).get_revlog()
697 686 fm.startitem()
698 687 nb_rev = len(rlog)
699 688 inline = rlog._inline
@@ -18,8 +18,6 b' Try on an empty repository'
18 18
19 19 $ hg debug-revlog-stats
20 20 rev-count data-size inl type target
21 0 0 yes changelog
22 0 0 yes manifest
23 21
24 22 $ mkdir folder
25 23 $ touch a b folder/c folder/d
General Comments 0
You need to be logged in to leave comments. Login now