diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -1164,6 +1164,12 @@ ui.write("\t%d -> %d\n" % (r.rev(pp[1]), i)) ui.write("}\n") +@command('debugindexstats', []) +def debugindexstats(ui, repo): + """show stats related to the changelog index""" + repo.changelog.shortest(nullid, 1) + ui.write('%s\n' % repo.changelog.index.stats()) + @command('debuginstall', [] + cmdutil.formatteropts, '', norepo=True) def debuginstall(ui, **opts): '''test Mercurial installation diff --git a/tests/test-completion.t b/tests/test-completion.t --- a/tests/test-completion.t +++ b/tests/test-completion.t @@ -94,6 +94,7 @@ debugignore debugindex debugindexdot + debugindexstats debuginstall debugknown debuglabelcomplete @@ -282,6 +283,7 @@ debugignore: debugindex: changelog, manifest, dir, template debugindexdot: changelog, manifest, dir + debugindexstats: debuginstall: template debugknown: debuglabelcomplete: diff --git a/tests/test-debugcommands.t b/tests/test-debugcommands.t --- a/tests/test-debugcommands.t +++ b/tests/test-debugcommands.t @@ -177,6 +177,9 @@ debugdelta chain basic output #if reporevlogstore + $ hg debugindexstats + {'node trie capacity': 4, 'node trie lookups': 4, 'node trie last rev scanned': -1, 'node trie count': 2, 'revs in memory': 3, 'node trie depth': 1, 'node trie splits': 1, 'node trie misses': 1} + $ hg debugdeltachain -m rev chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio 0 1 1 -1 base 44 43 44 1.02326 44 0 0.00000 diff --git a/tests/test-help.t b/tests/test-help.t --- a/tests/test-help.t +++ b/tests/test-help.t @@ -942,6 +942,8 @@ debugindex dump index data for a storage primitive debugindexdot dump an index DAG as a graphviz dot file + debugindexstats + show stats related to the changelog index debuginstall test Mercurial installation debugknown test whether node ids are known to a repo debuglocks show or modify state of locks