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 test
cd test
echo foo>foo
hg commit -A -d '0 0' -m 1
hg --config server.uncompressed=True serve -p 20059 -d --pid-file=../hg1.pid
hg serve -p 20060 -d --pid-file=../hg2.pid
cd ..
cat hg1.pid hg2.pid >> $DAEMON_PIDS
echo % clone via stream
http_proxy= hg clone --uncompressed http://localhost:20059/ copy 2>&1 | \
sed -e 's/[0-9][0-9.]*/XXX/g' -e 's/[KM]\(B\/sec\)/X\1/'
hg verify -R copy
echo % try to clone via stream, should use pull instead
http_proxy= hg clone --uncompressed http://localhost:20060/ copy2
echo % clone via pull
http_proxy= hg clone http://localhost:20059/ copy-pull
hg verify -R copy-pull
cd test
echo bar > bar
hg commit -A -d '1 0' -m 2
cd ..
echo % pull
cd copy-pull
echo '[hooks]' >> .hg/hgrc
echo 'changegroup = echo changegroup: u=$HG_URL' >> .hg/hgrc
hg pull
cd ..