[PATCH 2 of 2 v4] dispatch: make hg --profile wrap reposetup

Arun Kulshreshtha kulshrax at fb.com
Thu Sep 22 15:45:26 EDT 2016


# HG changeset patch
# User Arun Kulshreshtha <kulshrax at fb.com>
# Date 1474572990 25200
#      Thu Sep 22 12:36:30 2016 -0700
# Node ID 921577f5e9bfc3c059a8eb357796736f9edbdcd0
# Parent  75b224273359ed924528491efb88c612f3caa4ca
dispatch: make hg --profile wrap reposetup

Move profiling.maybeprofile() from _runcommand to _dispatch() so that
profiler output will include reposetup.

diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
--- a/mercurial/dispatch.py
+++ b/mercurial/dispatch.py
@@ -774,7 +774,8 @@
     # Check abbreviation/ambiguity of shell alias.
     shellaliasfn = _checkshellalias(lui, ui, args)
     if shellaliasfn:
-        return shellaliasfn()
+        with profiling.maybeprofile(lui):
+            return shellaliasfn()
 
     # check for fallback encoding
     fallback = lui.config('ui', 'fallbackencoding')
@@ -844,7 +845,7 @@
     elif not cmd:
         return commands.help_(ui, 'shortlist')
 
-    if True:
+    with profiling.maybeprofile(lui):
         repo = None
         cmdpats = args[:]
         if not _cmdattr(ui, cmd, func, 'norepo'):
@@ -904,11 +905,10 @@
 
 def _runcommand(ui, options, cmd, cmdfunc):
     """Run a command function, possibly with profiling enabled."""
-    with profiling.maybeprofile(ui):
-        try:
-            return cmdfunc()
-        except error.SignatureError:
-            raise error.CommandError(cmd, _('invalid arguments'))
+    try:
+        return cmdfunc()
+    except error.SignatureError:
+        raise error.CommandError(cmd, _('invalid arguments'))
 
 def _exceptionwarning(ui):
     """Produce a warning message for the current active exception"""


More information about the Mercurial-devel mailing list