Mercurial > hg-stable
changeset 40365:4f37af86d5d5
debugcommands: avoid stack trace from debugindexstats in pure mode
This has been broken since I added it in d71e0ba34d9b (debugcommands:
add a debugindexstats command, 2018-08-08). This patch also fixes the
test.
Differential Revision: https://phab.mercurial-scm.org/D5152
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 18 Oct 2018 10:11:08 -0700 |
parents | 0a212b643277 |
children | b14fdf1fb615 |
files | mercurial/debugcommands.py tests/test-debugcommands.t |
diffstat | 2 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Thu Oct 18 11:24:20 2018 -0400 +++ b/mercurial/debugcommands.py Thu Oct 18 10:11:08 2018 -0700 @@ -1168,7 +1168,10 @@ def debugindexstats(ui, repo): """show stats related to the changelog index""" repo.changelog.shortest(nullid, 1) - for k, v in sorted(repo.changelog.index.stats().items()): + index = repo.changelog.index + if not util.safehasattr(index, 'stats'): + raise error.Abort(_('debugindexstats only works with native code')) + for k, v in sorted(index.stats().items()): ui.write('%s: %s\n' % (k, v)) @command('debuginstall', [] + cmdutil.formatteropts, '', norepo=True)
--- a/tests/test-debugcommands.t Thu Oct 18 11:24:20 2018 -0400 +++ b/tests/test-debugcommands.t Thu Oct 18 10:11:08 2018 -0700 @@ -176,7 +176,12 @@ debugdelta chain basic output -#if reporevlogstore +#if reporevlogstore pure + $ hg debugindexstats + abort: debugindexstats only works with native code + [255] +#endif +#if reporevlogstore no-pure $ hg debugindexstats node trie capacity: 4 node trie count: 2 @@ -186,7 +191,9 @@ node trie misses: 1 node trie splits: 1 revs in memory: 3 +#endif +#if reporevlogstore no-pure $ 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