mercurial/dispatch.py
branchstable
changeset 12039 18e1e7520b67
parent 11712 9cbc62f68328
child 12040 529e712cb1ba
child 12067 a4fbbe0fbc38
--- a/mercurial/dispatch.py	Tue Aug 24 23:30:51 2010 +0900
+++ b/mercurial/dispatch.py	Sat Aug 21 22:48:14 2010 -0400
@@ -182,7 +182,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 = []
@@ -191,7 +191,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
@@ -256,7 +260,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