test-hgrc.t
245 lines
| 6.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-hgrc.t
|
r17015 | hide outer repo | ||
$ hg init | ||||
|
r12640 | Use hgrc within $TESTTMP | ||
$ HGRCPATH=`pwd`/hgrc | ||||
$ export HGRCPATH | ||||
|
r15372 | Use an alternate var for scribbling on hgrc to keep check-code from | ||
complaining about the important settings we may be overwriting: | ||||
$ HGRC=`pwd`/hgrc | ||||
$ export HGRC | ||||
|
r12640 | Basic syntax error | ||
|
r15372 | $ echo "invalid" > $HGRC | ||
|
r12366 | $ hg version | ||
|
r12640 | hg: parse error at $TESTTMP/hgrc:1: invalid | ||
|
r12366 | [255] | ||
|
r15372 | $ echo "" > $HGRC | ||
|
r12014 | |||
|
r12399 | Issue1199: Can't use '%' in hgrc (eg url encoded username) | ||
|
r12014 | |||
$ hg init "foo%bar" | ||||
$ hg clone "foo%bar" foobar | ||||
updating to branch default | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cd foobar | ||||
|
r12366 | $ cat .hg/hgrc | ||
|
r29978 | # example repository config (see 'hg help config' for more info) | ||
|
r22837 | [paths] | ||
|
r23056 | default = $TESTTMP/foo%bar (glob) | ||
|
r22837 | |||
# path aliases to other clones of this repo in URLs or filesystem paths | ||||
|
r29978 | # (see 'hg help config.paths' for more info) | ||
|
r22837 | # | ||
|
r31064 | # default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork | ||
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork | ||||
# my-clone = /home/jdoe/jdoes-clone | ||||
|
r22837 | |||
[ui] | ||||
# name and email (local to this repository, optional), e.g. | ||||
|
r22380 | # username = Jane Doe <jdoe@example.com> | ||
|
r12366 | $ hg paths | ||
|
r15447 | default = $TESTTMP/foo%bar (glob) | ||
|
r12366 | $ hg showconfig | ||
|
r15447 | bundle.mainreporoot=$TESTTMP/foobar (glob) | ||
paths.default=$TESTTMP/foo%bar (glob) | ||||
|
r12014 | $ cd .. | ||
issue1829: wrong indentation | ||||
|
r15372 | $ echo '[foo]' > $HGRC | ||
$ echo ' x = y' >> $HGRC | ||||
|
r12366 | $ hg version | ||
|
r12640 | hg: parse error at $TESTTMP/hgrc:2: x = y | ||
|
r22276 | unexpected leading whitespace | ||
|
r12366 | [255] | ||
|
r12014 | |||
|
r22947 | $ $PYTHON -c "print '[foo]\nbar = a\n b\n c \n de\n fg \nbaz = bif cb \n'" \ | ||
|
r15372 | > > $HGRC | ||
|
r12014 | $ hg showconfig foo | ||
foo.bar=a\nb\nc\nde\nfg | ||||
foo.baz=bif cb | ||||
$ FAKEPATH=/path/to/nowhere | ||||
$ export FAKEPATH | ||||
|
r15372 | $ echo '%include $FAKEPATH/no-such-file' > $HGRC | ||
|
r12366 | $ hg version | ||
|
r14491 | Mercurial Distributed SCM (version *) (glob) | ||
|
r26421 | (see https://mercurial-scm.org for more information) | ||
|
r14489 | |||
|
r30907 | Copyright (C) 2005-* Matt Mackall and others (glob) | ||
|
r14489 | This is free software; see the source for copying conditions. There is NO | ||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||||
|
r12014 | $ unset FAKEPATH | ||
|
r14992 | make sure global options given on the cmdline take precedence | ||
|
r14748 | |||
$ hg showconfig --config ui.verbose=True --quiet | ||||
|
r17015 | bundle.mainreporoot=$TESTTMP | ||
|
r14992 | ui.verbose=False | ||
ui.debug=False | ||||
|
r14748 | ui.quiet=True | ||
|
r14992 | $ touch foobar/untracked | ||
$ cat >> foobar/.hg/hgrc <<EOF | ||||
> [ui] | ||||
> verbose=True | ||||
> EOF | ||||
$ hg -R foobar st -q | ||||
|
r12014 | username expansion | ||
$ olduser=$HGUSER | ||||
$ unset HGUSER | ||||
$ FAKEUSER='John Doe' | ||||
$ export FAKEUSER | ||||
|
r15372 | $ echo '[ui]' > $HGRC | ||
$ echo 'username = $FAKEUSER' >> $HGRC | ||||
|
r12014 | |||
$ hg init usertest | ||||
$ cd usertest | ||||
$ touch bar | ||||
$ hg commit --addremove --quiet -m "added bar" | ||||
$ hg log --template "{author}\n" | ||||
John Doe | ||||
$ cd .. | ||||
|
r12109 | $ hg showconfig | ||
|
r17015 | bundle.mainreporoot=$TESTTMP | ||
|
r12014 | ui.username=$FAKEUSER | ||
$ unset FAKEUSER | ||||
$ HGUSER=$olduser | ||||
$ export HGUSER | ||||
|
r12697 | showconfig with multiple arguments | ||
|
r15372 | $ echo "[alias]" > $HGRC | ||
$ echo "log = log -g" >> $HGRC | ||||
$ echo "[defaults]" >> $HGRC | ||||
$ echo "identify = -n" >> $HGRC | ||||
|
r12697 | $ hg showconfig alias defaults | ||
alias.log=log -g | ||||
defaults.identify=-n | ||||
$ hg showconfig alias defaults.identify | ||||
abort: only one config item permitted | ||||
[255] | ||||
$ hg showconfig alias.log defaults.identify | ||||
abort: only one config item permitted | ||||
[255] | ||||
|
r12014 | HGPLAIN | ||
|
r15372 | $ echo "[ui]" > $HGRC | ||
$ echo "debug=true" >> $HGRC | ||||
$ echo "fallbackencoding=ASCII" >> $HGRC | ||||
$ echo "quiet=true" >> $HGRC | ||||
$ echo "slash=true" >> $HGRC | ||||
$ echo "traceback=true" >> $HGRC | ||||
$ echo "verbose=true" >> $HGRC | ||||
$ echo "style=~/.hgstyle" >> $HGRC | ||||
$ echo "logtemplate={node}" >> $HGRC | ||||
$ echo "[defaults]" >> $HGRC | ||||
$ echo "identify=-n" >> $HGRC | ||||
$ echo "[alias]" >> $HGRC | ||||
$ echo "log=log -g" >> $HGRC | ||||
|
r12014 | |||
customized hgrc | ||||
|
r12366 | $ hg showconfig | ||
|
r12640 | read config from: $TESTTMP/hgrc | ||
$TESTTMP/hgrc:13: alias.log=log -g | ||||
|
r20788 | repo: bundle.mainreporoot=$TESTTMP | ||
|
r12640 | $TESTTMP/hgrc:11: defaults.identify=-n | ||
$TESTTMP/hgrc:2: ui.debug=true | ||||
$TESTTMP/hgrc:3: ui.fallbackencoding=ASCII | ||||
$TESTTMP/hgrc:4: ui.quiet=true | ||||
$TESTTMP/hgrc:5: ui.slash=true | ||||
$TESTTMP/hgrc:6: ui.traceback=true | ||||
$TESTTMP/hgrc:7: ui.verbose=true | ||||
$TESTTMP/hgrc:8: ui.style=~/.hgstyle | ||||
$TESTTMP/hgrc:9: ui.logtemplate={node} | ||||
|
r12014 | |||
plain hgrc | ||||
$ HGPLAIN=; export HGPLAIN | ||||
|
r12366 | $ hg showconfig --config ui.traceback=True --debug | ||
|
r12640 | read config from: $TESTTMP/hgrc | ||
|
r20788 | repo: bundle.mainreporoot=$TESTTMP | ||
--config: ui.traceback=True | ||||
--verbose: ui.verbose=False | ||||
--debug: ui.debug=True | ||||
--quiet: ui.quiet=False | ||||
|
r13849 | |||
|
r31686 | with environment variables | ||
$ PAGER=p1 EDITOR=e1 VISUAL=e2 hg showconfig --debug | ||||
set config by: $EDITOR | ||||
set config by: $VISUAL | ||||
set config by: $PAGER | ||||
read config from: $TESTTMP/hgrc | ||||
repo: bundle.mainreporoot=$TESTTMP | ||||
$PAGER: pager.pager=p1 | ||||
$VISUAL: ui.editor=e2 | ||||
--verbose: ui.verbose=False | ||||
--debug: ui.debug=True | ||||
--quiet: ui.quiet=False | ||||
|
r13849 | plain mode with exceptions | ||
$ cat > plain.py <<EOF | ||||
|
r28611 | > from mercurial import commands, extensions | ||
> def _config(orig, ui, repo, *values, **opts): | ||||
> ui.write('plain: %r\n' % ui.plain()) | ||||
> return orig(ui, repo, *values, **opts) | ||||
|
r13849 | > def uisetup(ui): | ||
|
r28611 | > extensions.wrapcommand(commands.table, 'config', _config) | ||
|
r13849 | > EOF | ||
|
r15372 | $ echo "[extensions]" >> $HGRC | ||
$ echo "plain=./plain.py" >> $HGRC | ||||
|
r13849 | $ HGPLAINEXCEPT=; export HGPLAINEXCEPT | ||
$ hg showconfig --config ui.traceback=True --debug | ||||
|
r14372 | plain: True | ||
|
r13849 | read config from: $TESTTMP/hgrc | ||
|
r20788 | repo: bundle.mainreporoot=$TESTTMP | ||
|
r13849 | $TESTTMP/hgrc:15: extensions.plain=./plain.py | ||
|
r20788 | --config: ui.traceback=True | ||
--verbose: ui.verbose=False | ||||
--debug: ui.debug=True | ||||
--quiet: ui.quiet=False | ||||
|
r13849 | $ unset HGPLAIN | ||
$ hg showconfig --config ui.traceback=True --debug | ||||
|
r14372 | plain: True | ||
|
r13849 | read config from: $TESTTMP/hgrc | ||
|
r20788 | repo: bundle.mainreporoot=$TESTTMP | ||
|
r13849 | $TESTTMP/hgrc:15: extensions.plain=./plain.py | ||
|
r20788 | --config: ui.traceback=True | ||
--verbose: ui.verbose=False | ||||
--debug: ui.debug=True | ||||
--quiet: ui.quiet=False | ||||
|
r13849 | $ HGPLAINEXCEPT=i18n; export HGPLAINEXCEPT | ||
$ hg showconfig --config ui.traceback=True --debug | ||||
|
r14372 | plain: True | ||
|
r13849 | read config from: $TESTTMP/hgrc | ||
|
r20788 | repo: bundle.mainreporoot=$TESTTMP | ||
|
r13849 | $TESTTMP/hgrc:15: extensions.plain=./plain.py | ||
|
r20788 | --config: ui.traceback=True | ||
--verbose: ui.verbose=False | ||||
--debug: ui.debug=True | ||||
--quiet: ui.quiet=False | ||||
|
r20789 | |||
source of paths is not mangled | ||||
$ cat >> $HGRCPATH <<EOF | ||||
> [paths] | ||||
> foo = bar | ||||
> EOF | ||||
$ hg showconfig --debug paths | ||||
plain: True | ||||
read config from: $TESTTMP/hgrc | ||||
|
r23056 | $TESTTMP/hgrc:17: paths.foo=$TESTTMP/bar (glob) | ||