Mercurial > public > mercurial-scm > hg-stable
diff mercurial/debugcommands.py @ 49914:b1e4c74beb6f
debug: add debug-revlog-stats command
Display statistics about revlogs in the store. Useful to get an approximate
size of a repository, etc. More statistics will be added in the future.
author | Franck Bret <franck.bret@octobus.net> |
---|---|
date | Mon, 19 Dec 2022 16:22:01 +0100 |
parents | cfe8d88a453e |
children | fdd227585d5a |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Fri Dec 16 22:24:05 2022 -0500 +++ b/mercurial/debugcommands.py Mon Dec 19 16:22:01 2022 +0100 @@ -3809,6 +3809,33 @@ @command( + b'debug-revlog-stats', + [ + (b'c', b'changelog', None, _(b'Display changelog statistics')), + (b'm', b'manifest', None, _(b'Display manifest statistics')), + (b'f', b'filelogs', None, _(b'Display filelogs statistics')), + ] + + cmdutil.formatteropts, +) +def debug_revlog_stats(ui, repo, **opts): + """display statistics about revlogs in the store""" + opts = pycompat.byteskwargs(opts) + changelog = opts[b"changelog"] + manifest = opts[b"manifest"] + filelogs = opts[b"filelogs"] + + if changelog is None and manifest is None and filelogs is None: + changelog = True + manifest = True + filelogs = True + + repo = repo.unfiltered() + fm = ui.formatter(b'debug-revlog-stats', opts) + revlog_debug.debug_revlog_stats(repo, fm, changelog, manifest, filelogs) + fm.end() + + +@command( b'debugsuccessorssets', [(b'', b'closest', False, _(b'return closest successors sets only'))], _(b'[REV]'),