Show More
@@ -663,27 +663,6 b' def debug_delta_find(ui, revlog, rev, ba' | |||||
663 | deltacomputer.finddeltainfo(revinfo, fh, target_rev=rev) |
|
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 | def debug_revlog_stats( |
|
666 | def debug_revlog_stats( | |
688 | repo, fm, changelog: bool, manifest: bool, filelogs: bool |
|
667 | repo, fm, changelog: bool, manifest: bool, filelogs: bool | |
689 | ): |
|
668 | ): | |
@@ -693,7 +672,17 b' def debug_revlog_stats(' | |||||
693 | """ |
|
672 | """ | |
694 | fm.plain(b'rev-count data-size inl type target \n') |
|
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 | fm.startitem() |
|
686 | fm.startitem() | |
698 | nb_rev = len(rlog) |
|
687 | nb_rev = len(rlog) | |
699 | inline = rlog._inline |
|
688 | inline = rlog._inline |
@@ -18,8 +18,6 b' Try on an empty repository' | |||||
18 |
|
18 | |||
19 | $ hg debug-revlog-stats |
|
19 | $ hg debug-revlog-stats | |
20 | rev-count data-size inl type target |
|
20 | rev-count data-size inl type target | |
21 | 0 0 yes changelog |
|
|||
22 | 0 0 yes manifest |
|
|||
23 |
|
21 | |||
24 | $ mkdir folder |
|
22 | $ mkdir folder | |
25 | $ touch a b folder/c folder/d |
|
23 | $ touch a b folder/c folder/d |
General Comments 0
You need to be logged in to leave comments.
Login now