tests/test-debugcomplete.out
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Tue, 10 Oct 2006 18:43:20 -0300
changeset 3347 25d270e0b27f
parent 3292 399c04369a1b
child 3502 8dc14d630b29
permissions -rw-r--r--
ui.py: untangle updateopts The code in ui.updateopts that handles ui.quiet, ui.verbose and ui.debugflag is too smart, making it somewhat hard to see what are the exact constraints placed on the values of these variables, hiding some buglets. This patch makes these constraints more explicit, fixing these buglets and changing the behaviour slightly. It also adds a test to make sure things work as expected in the future. The buglets: - setting ui.debug = True in a hgrc wouldn't turn on verbose mode - additionally, setting ui.quiet = True or using --quiet would give you a "quiet debug" mode. The behaviour change: - previously, in a hgrc file, ui.quiet wins against ui.verbose (i.e. the final result would be quiet mode), but --verbose wins against --quiet - now ui.quiet nullifies ui.verbose and --verbose nullifies --quiet. As a consequence, using -qv always gives you normal mode (unless debug mode was turned on somewhere)

% 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