tests/test-hgrc
author Brodie Rao <brodie@bitheap.org>
Fri, 27 Aug 2010 22:36:35 -0400
branchstable
changeset 12083 ebfc46929f3e
parent 11225 d6dbd5e4ee72
permissions -rwxr-xr-x
help: refer to user configuration file more consistently Currently, a number of commands and help topics mention the user hgrc file in different ways. Among these are following: 1. .hgrc - "please specify your commit editor/username in your .hgrc file", bookmarks, color, hgk, pager, hg help environment 2. $HOME/.hgrc - hg help paths, hgrc(5), hg(1) 3. ~/.hgrc - hgrc(5) In addition to being inconsistent, none of these make sense on Windows. This patch replaces the above with a more general term of "[your] configuration file".

#!/bin/sh

echo "invalid" > $HGRCPATH
hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|"
echo "" > $HGRCPATH

# issue1199: escaping
hg init "foo%bar"
hg clone "foo%bar" foobar
p=`pwd`
cd foobar
cat .hg/hgrc | sed -e "s:$p:...:"
hg paths | sed -e "s:$p:...:"
hg showconfig | sed -e "s:$p:...:"
cd ..

# issue1829: wrong indentation
echo '[foo]' > $HGRCPATH
echo '  x = y' >> $HGRCPATH
hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|"

python -c "print '[foo]\nbar = a\n b\n c \n  de\n fg \nbaz = bif cb \n'" \
    > $HGRCPATH
hg showconfig foo

FAKEPATH=/path/to/nowhere
export FAKEPATH
echo '%include $FAKEPATH/no-such-file' > $HGRCPATH
hg version 2>&1 | sed -e "s|$HGRCPATH|\$HGRCPATH|"
unset FAKEPATH

echo "% username expansion"
olduser=$HGUSER
unset HGUSER

FAKEUSER='John Doe'
export FAKEUSER
echo '[ui]' > $HGRCPATH
echo 'username = $FAKEUSER' >> $HGRCPATH

hg init usertest
cd usertest
touch bar
hg commit --addremove --quiet -m "added bar"
hg log --template "{author}\n"
cd ..

hg showconfig | sed -e "s:$p:...:"

unset FAKEUSER
HGUSER=$olduser
export HGUSER

# HGPLAIN
cd ..
p=`pwd`
echo "[ui]" > $HGRCPATH
echo "debug=true" >> $HGRCPATH
echo "fallbackencoding=ASCII" >> $HGRCPATH
echo "quiet=true" >> $HGRCPATH
echo "slash=true" >> $HGRCPATH
echo "traceback=true" >> $HGRCPATH
echo "verbose=true" >> $HGRCPATH
echo "style=~/.hgstyle" >> $HGRCPATH
echo "logtemplate={node}" >> $HGRCPATH
echo "[defaults]" >> $HGRCPATH
echo "identify=-n" >> $HGRCPATH
echo "[alias]" >> $HGRCPATH
echo "log=log -g" >> $HGRCPATH

echo '% customized hgrc'
hg showconfig | sed -e "s:$p:...:"

echo '% plain hgrc'
HGPLAIN=; export HGPLAIN
hg showconfig --config ui.traceback=True --debug | sed -e "s:$p:...:"