path_auditor: cache names of audited directories
We use a separate cache to avoid problems with
audit = path_auditor(repo.root)
audit("subrepo")
audit("subrepo/file")
whitelisting "subrepo" (which is fine) and then using the same whitelist
with "subrepo/file" (which is not fine).
Since we create a separate path_auditor for every path on the command line,
a "hg add dir/a dir/b dir/c" will still lstat dir 3 times just to audit
the paths.
#!/bin/sh
echo '% Show all commands except debug commands'
hg debugcomplete
echo
echo '% Show all commands that start with "a"'
hg debugcomplete a
echo
echo '% Do not show debug commands if there are other candidates'
hg debugcomplete d
echo
echo '% Show debug commands if there are no other candidates'
hg debugcomplete debug
echo
echo '% Do not show the alias of a debug command if there are other candidates'
echo '% (this should hide rawcommit)'
hg debugcomplete r
echo
echo '% Show the alias of a debug command if there are no other candidates'
hg debugcomplete rawc
echo
echo '% Show the global options'
hg debugcomplete --options | sort
echo
echo '% Show the options for the "serve" command'
hg debugcomplete --options serve | sort
echo
echo '% Show an error if we use --options with an ambiguous abbreviation'
hg debugcomplete --options s
exit 0