Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3350
update ui.quiet/verbose/debug/interactive every time the config changes
- ui.quiet/verbose/debug/interactive become just a cache of the ui.cdata
settings
- the quiet, verbose, debug and interactive options from the [ui] section
from .hg/hgrc files are respected for commands that open the repo
- setting ui.quiet/verbose/debug/interactive with --config works
- the command line options always override the hgrc settings - previously
it wasn't possible to override a [ui] debug = True. --debug still
takes precedence over --quiet and --verbose.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3349
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)
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3348
call ui.updateopts only after changing directories
This corrects --config paths.foo=bar when it's used with --cwd
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3347
ui.py: normalize settings every time the configuration changes
Previously, we would normalize settings (e.g. turn relative paths into
absolute ones) only after reading a config file.
Now "--config paths.foo=bar" will use the cwd to make "bar" an absolute
path.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3346
move the parsing of --config options to commands.py
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3345
ui.py: use the overlay to hold --config data
This allows the ui class to know that these items have a higher priority
without further help from commands.py.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3344
ui.py: change the overlay from a dict to a SafeConfigParser.
This also fixes what's probably a bug - configitems was ignoring the overlay.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3343
ui.py: don't query parentui.cdata when looking up config items.
We copied the contents of parentui.cdata on initialization.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3342
ui.py: make walkconfig use configitems
Also make it sort the available config sections while we're at it.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 10 Oct 2006 18:43:20 -0300] rev 3341
ui.py: move common code out of config and configbool