mercurial/dispatch.py
changeset 12040 529e712cb1ba
parent 11989 f853873fc66d
parent 12039 18e1e7520b67
child 12070 fddacca3202e
--- a/mercurial/dispatch.py	Tue Aug 24 13:13:35 2010 -0500
+++ b/mercurial/dispatch.py	Wed Aug 25 15:20:25 2010 -0500
@@ -189,7 +189,7 @@
 
 class cmdalias(object):
     def __init__(self, name, definition, cmdtable):
-        self.name = name
+        self.name = self.cmd = name
         self.definition = definition
         self.args = []
         self.opts = []
@@ -198,7 +198,11 @@
         self.badalias = False
 
         try:
-            cmdutil.findcmd(self.name, cmdtable, True)
+            aliases, entry = cmdutil.findcmd(self.name, cmdtable)
+            for alias, e in cmdtable.iteritems():
+                if e is entry:
+                    self.cmd = alias
+                    break
             self.shadows = True
         except error.UnknownCommand:
             self.shadows = False
@@ -295,7 +299,7 @@
     # but only if they have been defined prior to the current definition.
     for alias, definition in ui.configitems('alias'):
         aliasdef = cmdalias(alias, definition, cmdtable)
-        cmdtable[alias] = (aliasdef, aliasdef.opts, aliasdef.help)
+        cmdtable[aliasdef.cmd] = (aliasdef, aliasdef.opts, aliasdef.help)
         if aliasdef.norepo:
             commands.norepo += ' %s' % alias