comparison mercurial/dispatch.py @ 12040:529e712cb1ba

merge with stable
author Matt Mackall <mpm@selenic.com>
date Wed, 25 Aug 2010 15:20:25 -0500
parents f853873fc66d 18e1e7520b67
children fddacca3202e
comparison
equal deleted inserted replaced
12037:aaf9968bd8b7 12040:529e712cb1ba
187 return fn.args 187 return fn.args
188 return [] 188 return []
189 189
190 class cmdalias(object): 190 class cmdalias(object):
191 def __init__(self, name, definition, cmdtable): 191 def __init__(self, name, definition, cmdtable):
192 self.name = name 192 self.name = self.cmd = name
193 self.definition = definition 193 self.definition = definition
194 self.args = [] 194 self.args = []
195 self.opts = [] 195 self.opts = []
196 self.help = '' 196 self.help = ''
197 self.norepo = True 197 self.norepo = True
198 self.badalias = False 198 self.badalias = False
199 199
200 try: 200 try:
201 cmdutil.findcmd(self.name, cmdtable, True) 201 aliases, entry = cmdutil.findcmd(self.name, cmdtable)
202 for alias, e in cmdtable.iteritems():
203 if e is entry:
204 self.cmd = alias
205 break
202 self.shadows = True 206 self.shadows = True
203 except error.UnknownCommand: 207 except error.UnknownCommand:
204 self.shadows = False 208 self.shadows = False
205 209
206 if not self.definition: 210 if not self.definition:
293 # aliases are processed after extensions have been loaded, so they 297 # aliases are processed after extensions have been loaded, so they
294 # may use extension commands. Aliases can also use other alias definitions, 298 # may use extension commands. Aliases can also use other alias definitions,
295 # but only if they have been defined prior to the current definition. 299 # but only if they have been defined prior to the current definition.
296 for alias, definition in ui.configitems('alias'): 300 for alias, definition in ui.configitems('alias'):
297 aliasdef = cmdalias(alias, definition, cmdtable) 301 aliasdef = cmdalias(alias, definition, cmdtable)
298 cmdtable[alias] = (aliasdef, aliasdef.opts, aliasdef.help) 302 cmdtable[aliasdef.cmd] = (aliasdef, aliasdef.opts, aliasdef.help)
299 if aliasdef.norepo: 303 if aliasdef.norepo:
300 commands.norepo += ' %s' % alias 304 commands.norepo += ' %s' % alias
301 305
302 def _parse(ui, args): 306 def _parse(ui, args):
303 options = {} 307 options = {}