Use a case-sensitive version of SafeConfigParser everywhere
This change has the potential to break existing setups, but the current
behaviour (the keys in configuration files are always lower-cased) can
bite us in a few places:
- no way to use a Command in [defaults]
- hgext.Extension doesn't work in [extensions]
- you can't use an Upper/case/PATH in the [paths] section of hgweb.config
- you can't (easily) protect paths with upper-case letters with the
acl extension
- you can't specify a /Path/TO/a/rEPO in the [reposubs] section for
the notify extension
#!/bin/sh
hg init a
cd a
echo a > a
hg ci -A -d'1 0' -m a
cd ..
hg init b
cd b
echo b > b
hg ci -A -d'1 0' -m b
cd ..
hg clone a c
cd c
hg pull -f ../b
HGMERGE=merge hg merge
cd ..
echo %% -R/--repository
hg -R a tip
hg --repository b tip
echo %% abbrev of long option
hg --repo c tip
echo %% --cwd
hg --cwd a parents
echo %% -y/--noninteractive - just be sure it is parsed
hg --cwd a tip -q --noninteractive
hg --cwd a tip -q -y
echo %% -q/--quiet
hg -R a -q tip
hg -R b -q tip
hg -R c --quiet parents
echo %% -v/--verbose
hg --cwd c head -v
hg --cwd b tip --verbose
echo %% --config
hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo
hg --cwd c --config '' tip -q
hg --cwd c --config a.b tip -q
hg --cwd c --config a tip -q
hg --cwd c --config a.= tip -q
hg --cwd c --config .b= tip -q
echo %% --debug
hg --cwd c log --debug
echo %% --traceback
hg --cwd c --config x --traceback tip 2>&1 | grep -i 'traceback'
echo %% --time
hg --cwd a --time tip 2>&1 | grep '^Time:' | sed 's/[0-9][0-9]*/x/g'
echo %% --version
hg --version -q | sed 's/version [^)]*/version xxx/'
echo %% -h/--help
hg -h
hg --help
echo %% not tested: --debugger