AmbiguousCommand is raised too soon.
Right now, hg raises AmbiguousCommand as soon as it finds two
commands/aliases that start with the substring it's searching for, even
though it may still find a full match later on.
This is a bit hard to hit on purpose, because hg checks the list of
commands in whatever order is returned by table.keys(), which will
change when you add an alias to a command. You should be able to hit it
by adding an alias "u" to the "identify" command - not that that makes a
lot of sense...
adding foo
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
pulling from ../branch
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 2 changesets, 2 total revisions
foo
bar
6f4310b00b9a147241b071a60c28a650827fb03d 644 foo