use 'x is None' instead of 'x == None'
The built-in None object is a singleton and it is therefore safe to
compare memory addresses with is. It is also faster, how much depends
on the object being compared. For a simple type like str I get:
| s = "foo" | s = None
----------+-----------+----------
s == None | 0.25 usec | 0.21 usec
s is None | 0.17 usec | 0.17 usec
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 repository 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
--decode apply any matching decode filter
-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)!