mercurial/commands.py
changeset 1743 813f9f5fe837
parent 1742 1e5bb6c929cd
parent 1739 57de7e1a81d2
child 1747 91c56c427171
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2580,17 +2580,20 @@ norepo = ("clone init version help debug
 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