# HG changeset patch # User Benoit Boissinot # Date 1131128523 28800 # Node ID 11c8b81f95fe10efec591721b62ae2b5d1a473b4 # Parent 27f08094cfe040352ad6031f91eb8d62c5c680da if unambigious command name are passed, use them diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2374,9 +2374,17 @@ norepo = ("clone init version help debug " debugindex debugindexdot paths") def find(cmd): + choice = [] for e in table.keys(): - if re.match("(%s)$" % e, cmd): + aliases = e.lstrip("^").split("|") + if cmd in aliases: return e, table[e] + for a in aliases: + if a.startswith(cmd): + choice.append(e) + if len(choice) == 1: + e = choice[0] + return e, table[e] raise UnknownCommand(cmd)