diff --git a/contrib/perf.py b/contrib/perf.py --- a/contrib/perf.py +++ b/contrib/perf.py @@ -909,7 +909,8 @@ def perfmoonwalk(ui, repo, **opts): @command('perftemplating', [('r', 'rev', [], 'revisions to run the template on'), ] + formatteropts) -def perftemplating(ui, repo, **opts): +def perftemplating(ui, repo, testedtemplate=None, **opts): + """test the rendering time of a given template""" if makelogtemplater is None: ui.write_err('incompatible Mercurial version') return 1 @@ -922,9 +923,11 @@ def perftemplating(ui, repo, **opts): revs = ['all()'] revs = list(scmutil.revrange(repo, revs)) - template = ('{date|shortdate} [{rev}:{node|short}]' - ' {author|person}: {desc|firstline}\n') - displayer = makelogtemplater(nullui, repo, template) + defaulttemplate = ('{date|shortdate} [{rev}:{node|short}]' + ' {author|person}: {desc|firstline}\n') + if testedtemplate is None: + testedtemplate = defaulttemplate + displayer = makelogtemplater(nullui, repo, testedtemplate) def format(): for r in revs: ctx = repo[r] diff --git a/tests/test-contrib-perf.t b/tests/test-contrib-perf.t --- a/tests/test-contrib-perf.t +++ b/tests/test-contrib-perf.t @@ -113,7 +113,7 @@ perfstatus perfstatus (no help text available) perftags (no help text available) perftemplating - (no help text available) + test the rendering time of a given template perfunidiff benchmark a unified diff between revisions perfvolatilesets benchmark the computation of various volatile set