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.
adding a
# missing arg
hg cat: invalid arguments
hg cat [OPTION]... FILE...
output the current or given revision of files
Print the specified files as they were at the given revision.
If no revision is given, the parent of the working directory is used,
or tip if no revision is checked out.
Output may be to a file, in which case the name of the file is
given using a format string. The formatting rules are the same as
for the export command, with the following additions:
%s basename of file being printed
%d dirname of file being printed, or '.' if in repo root
%p root-relative path name of file being printed
options:
-o --output print output to file with formatted name
-r --rev print the given revision
-I --include include names matching the given patterns
-X --exclude exclude names matching the given patterns
use "hg -v help cat" to show global options
% [defaults]
a
a
% no repo
abort: There is no Mercurial repository here (.hg not found)!