Comments
Patch
@@ -462,3 +462,13 @@ class basealiasrules(object):
if err:
err = efmt % {'section': cls._section, 'name': name, 'error': err}
return alias(name, tree, args, err, repl)
+
+ @classmethod
+ def buildmap(cls, items):
+ """Parse a list of alias (name, replacement) pairs into a dict of
+ alias objects"""
+ aliases = {}
+ for decl, defn in items:
+ a = cls.build(decl, defn)
+ aliases[a.name] = a
+ return aliases
@@ -2320,10 +2320,7 @@ def _expandaliases(aliases, tree, expand
return result
def findaliases(ui, tree, showwarning=None):
- aliases = {}
- for k, v in ui.configitems('revsetalias'):
- alias = _aliasrules.build(k, v)
- aliases[alias.name] = alias
+ aliases = _aliasrules.buildmap(ui.configitems('revsetalias'))
tree = _expandaliases(aliases, tree, [], {})
if showwarning:
# warn about problematic (but not referred) aliases