--- a/mercurial/commands.py Mon Jun 11 21:09:24 2007 -0500
+++ b/mercurial/commands.py Mon Jun 11 21:09:24 2007 -0500
@@ -3306,57 +3306,5 @@
else:
d = lambda: func(u, *args, **cmdoptions)
- return runcommand(u, options, d)
-
-def runcommand(u, options, d):
- # enter the debugger before command execution
- if options['debugger']:
- pdb.set_trace()
-
- try:
- try:
- if options['profile']:
- import hotshot, hotshot.stats
- prof = hotshot.Profile("hg.prof")
- try:
- try:
- return prof.runcall(d)
- except:
- try:
- u.warn(_('exception raised - generating '
- 'profile anyway\n'))
- except:
- pass
- raise
- finally:
- prof.close()
- stats = hotshot.stats.load("hg.prof")
- stats.strip_dirs()
- stats.sort_stats('time', 'calls')
- stats.print_stats(40)
- elif options['lsprof']:
- try:
- from mercurial import lsprof
- except ImportError:
- raise util.Abort(_(
- 'lsprof not available - install from '
- 'http://codespeak.net/svn/user/arigo/hack/misc/lsprof/'))
- p = lsprof.Profiler()
- p.enable(subcalls=True)
- try:
- return d()
- finally:
- p.disable()
- stats = lsprof.Stats(p.getstats())
- stats.sort()
- stats.pprint(top=10, file=sys.stderr, climit=5)
- else:
- return d()
- finally:
- u.flush()
- except:
- # enter the debugger when we hit an exception
- if options['debugger']:
- pdb.post_mortem(sys.exc_info()[2])
- u.print_exc()
- raise
+ return cmdutil.runcommand(u, options, d)
+