# HG changeset patch
# User timeless <timeless@mozdev.org>
# Date 2015-11-24 20:54:14
# Node ID e94bfebb4f35b36bcd4ea4ecd90a5aa7d898f77b
# Parent  64cb281d23a502e4acac4f674415a0a07c200584

contrib/perf: perfparents handle tiny repos

refuse to run if there are not enough commits

diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -2,7 +2,7 @@
 '''helper extension to measure performance'''
 
 from mercurial import cmdutil, scmutil, util, commands, obsolete
-from mercurial import repoview, branchmap, merge, copies
+from mercurial import repoview, branchmap, merge, copies, error
 import time, os, sys
 import functools
 
@@ -300,6 +300,8 @@ def perfstartup(ui, repo, **opts):
 @command('perfparents', formatteropts)
 def perfparents(ui, repo, **opts):
     timer, fm = gettimer(ui, opts)
+    if len(repo.changelog) < 1000:
+        raise error.Abort("repo needs 1000 commits for this test")
     nl = [repo.changelog.node(i) for i in xrange(1000)]
     def d():
         for n in nl: