Add branchtags function with cache
- cache stores tipmost node and rev and node,label pairs
- if cache is out of date, scan new changesets
- write new cache out after scan
% Show all commands except debug commands
add
addremove
annotate
archive
backout
bundle
cat
clone
commit
copy
diff
export
grep
heads
help
identify
import
incoming
init
locate
log
manifest
merge
outgoing
parents
paths
pull
push
recover
remove
rename
revert
rollback
root
serve
showconfig
status
tag
tags
tip
unbundle
update
verify
version
% Show all commands that start with "a"
add
addremove
annotate
archive
% Do not show debug commands if there are other candidates
diff
% Show debug commands if there are no other candidates
debugancestor
debugcheckstate
debugcomplete
debugconfig
debugdata
debugforget
debugindex
debugindexdot
debugrawcommit
debugrebuildstate
debugrename
debugsetparents
debugstate
debugundo
debugwalk
% Do not show the alias of a debug command if there are other candidates
% (this should hide rawcommit)
recover
remove
rename
revert
rollback
root
% Show the alias of a debug command if there are no other candidates
rawcommit
% Show the global options
--config
--cwd
--debug
--debugger
--help
--lsprof
--noninteractive
--profile
--quiet
--repository
--time
--traceback
--verbose
--version
-R
-h
-q
-v
-y
% Show the options for the "serve" command
--accesslog
--address
--config
--cwd
--daemon
--daemon-pipefds
--debug
--debugger
--errorlog
--help
--ipv6
--lsprof
--name
--noninteractive
--pid-file
--port
--profile
--quiet
--repository
--stdio
--style
--templates
--time
--traceback
--verbose
--version
--webdir-conf
-6
-A
-E
-R
-a
-d
-h
-n
-p
-q
-t
-v
-y
% Show an error if we use --options with an ambiguous abbreviation
hg: command 's' is ambiguous:
serve showconfig status