comparison mercurial/dispatch.py @ 28828:3640c1702c43

help: report source of aliases
author timeless <timeless@mozdev.org>
date Fri, 08 Apr 2016 18:35:49 +0000
parents d3369dc6c1d0
children 86db5cb55d46
comparison
equal deleted inserted replaced
28827:1e184241de51 28828:3640c1702c43
377 regex = '|'.join(replacemap.keys()).replace('$', r'\$') 377 regex = '|'.join(replacemap.keys()).replace('$', r'\$')
378 r = re.compile(regex) 378 r = re.compile(regex)
379 return r.sub(lambda x: replacemap[x.group()], cmd) 379 return r.sub(lambda x: replacemap[x.group()], cmd)
380 380
381 class cmdalias(object): 381 class cmdalias(object):
382 def __init__(self, name, definition, cmdtable): 382 def __init__(self, name, definition, cmdtable, source):
383 self.name = self.cmd = name 383 self.name = self.cmd = name
384 self.cmdname = '' 384 self.cmdname = ''
385 self.definition = definition 385 self.definition = definition
386 self.fn = None 386 self.fn = None
387 self.args = [] 387 self.args = []
388 self.opts = [] 388 self.opts = []
389 self.help = '' 389 self.help = ''
390 self.badalias = None 390 self.badalias = None
391 self.unknowncmd = False 391 self.unknowncmd = False
392 self.source = source
392 393
393 try: 394 try:
394 aliases, entry = cmdutil.findcmd(self.name, cmdtable) 395 aliases, entry = cmdutil.findcmd(self.name, cmdtable)
395 for alias, e in cmdtable.iteritems(): 396 for alias, e in cmdtable.iteritems():
396 if e is entry: 397 if e is entry:
497 def addaliases(ui, cmdtable): 498 def addaliases(ui, cmdtable):
498 # aliases are processed after extensions have been loaded, so they 499 # aliases are processed after extensions have been loaded, so they
499 # may use extension commands. Aliases can also use other alias definitions, 500 # may use extension commands. Aliases can also use other alias definitions,
500 # but only if they have been defined prior to the current definition. 501 # but only if they have been defined prior to the current definition.
501 for alias, definition in ui.configitems('alias'): 502 for alias, definition in ui.configitems('alias'):
502 aliasdef = cmdalias(alias, definition, cmdtable) 503 source = ui.configsource('alias', alias)
504 aliasdef = cmdalias(alias, definition, cmdtable, source)
503 505
504 try: 506 try:
505 olddef = cmdtable[aliasdef.cmd][0] 507 olddef = cmdtable[aliasdef.cmd][0]
506 if olddef.definition == aliasdef.definition: 508 if olddef.definition == aliasdef.definition:
507 continue 509 continue