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
echo "[extensions]" >> $HGRCPATH
echo "extdiff=" >> $HGRCPATH
hg init a
cd a
echo a > a
hg add
diff -N /dev/null /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
opt="-p gdiff"
fi
hg extdiff -o -Nr $opt
echo "[extdiff]" >> $HGRCPATH
echo "cmd.falabala=echo" >> $HGRCPATH
echo "opts.falabala=diffing" >> $HGRCPATH
hg falabala
hg help falabala
hg ci -d '0 0' -mtest1
echo b >> a
hg ci -d '1 0' -mtest2
hg falabala -r 0:1
# test diff during merge
hg update 0
echo b >> b
hg add b
hg ci -m "new branch" -d '1 0'
hg update -C 1
hg merge tip
hg falabala || echo "diff-like tools yield a non-zero exit code"