help: mark boolean flags with [no-] to explain that they can be negated
That is, help gets tweaked thus:
global options ([+] can be repeated):
-v --[no-]verbose enable additional output
Other proposals have included:
global options ([+] can be repeated, options marked [?] are boolean flags):
-v --verbose[?] enable additional output
and
global options ([+] can be repeated, options marked [^] are boolean flags):
-v --verbose[^] enable additional output
which avoid the unfortunate visual noise in this patch. In this
version's favor, it's consistent with what I'm used to seeing in man
pages and similar documentation venues.
test command parsing and dispatch
$ hg init a
$ cd a
Redundant options used to crash (issue436):
$ hg -v log -v
$ hg -v log -v x
$ echo a > a
$ hg ci -Ama
adding a
Missing arg:
$ hg cat
hg cat: invalid arguments
hg cat [OPTION]... FILE...
output the current or given revision of files
options ([+] can be repeated):
-o --output FORMAT print output to file with formatted name
-r --rev REV print the given revision
--[no-]decode apply any matching decode filter
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
(use 'hg cat -h' to show more help)
[255]
[defaults]
$ hg cat a
a
$ cat >> $HGRCPATH <<EOF
> [defaults]
> cat = -r null
> EOF
$ hg cat a
a: no such file in rev 000000000000
[1]
$ cd "$TESTTMP"
OSError "No such file or directory" / "The system cannot find the path
specified" should include filename even when it is empty
$ hg -R a archive ''
abort: *: '' (glob)
[255]
#if no-outer-repo
No repo:
$ hg cat
abort: no repository found in '$TESTTMP' (.hg not found)!
[255]
#endif