diff -r 1e5bb6c929cd -r 813f9f5fe837 mercurial/commands.py --- a/mercurial/commands.py Sat Feb 18 05:40:08 2006 +0100 +++ b/mercurial/commands.py Sat Feb 18 06:50:22 2006 +0100 @@ -2580,17 +2580,20 @@ def find(cmd): """Return (aliases, command table entry) for command string.""" choice = None + count = 0 for e in table.keys(): aliases = e.lstrip("^").split("|") if cmd in aliases: return aliases, table[e] for a in aliases: if a.startswith(cmd): - if choice: - raise AmbiguousCommand(cmd) - else: - choice = aliases, table[e] - break + count += 1 + choice = aliases, table[e] + break + + if count > 1: + raise AmbiguousCommand(cmd) + if choice: return choice