Mercurial > public > mercurial-scm > hg-stable
diff mercurial/commands.py @ 4548:c9fcebbfc422
dispatch: move runcommand to cmdutil
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 11 Jun 2007 21:09:24 -0500 |
parents | 8774d2cafe4d |
children | 0c61124ad877 |
line wrap: on
line diff
--- 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) +