diff -r 27f08094cfe0 -r 11c8b81f95fe mercurial/commands.py --- a/mercurial/commands.py Thu Nov 03 17:19:59 2005 -0800 +++ b/mercurial/commands.py Fri Nov 04 10:22:03 2005 -0800 @@ -2374,9 +2374,17 @@ " 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)