mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 01:39:21 +03:00
c978db634c
This just copies the same local sample hgrc, except it sets the default path to the repo it was cloned from. This is cut-and-paste from the local sample hgrc, but I think it's acceptable, since the two pieces of code are right next to each other and they're small. There is danger of them going out of synch, but it would complicate the code too much to get rid of this C&P. I also add ui as an import to hg.py, but with demandimport, this should not be a noticeable performance hit.
228 lines
5.8 KiB
Perl
228 lines
5.8 KiB
Perl
hide outer repo
|
|
$ hg init
|
|
|
|
Use hgrc within $TESTTMP
|
|
|
|
$ HGRCPATH=`pwd`/hgrc
|
|
$ export HGRCPATH
|
|
|
|
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
|
|
|
|
Basic syntax error
|
|
|
|
$ echo "invalid" > $HGRC
|
|
$ hg version
|
|
hg: parse error at $TESTTMP/hgrc:1: invalid
|
|
[255]
|
|
$ echo "" > $HGRC
|
|
|
|
Issue1199: Can't use '%' in hgrc (eg url encoded username)
|
|
|
|
$ 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
|
|
$ cat .hg/hgrc
|
|
# example repository config (see "hg help config" for more info)
|
|
[paths]
|
|
default = $TESTTMP/foo%bar
|
|
|
|
# path aliases to other clones of this repo in URLs or filesystem paths
|
|
# (see "hg help config.paths" for more info)
|
|
#
|
|
# default-push = ssh://jdoe@example.net/hg/jdoes-fork
|
|
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork
|
|
# my-clone = /home/jdoe/jdoes-clone
|
|
|
|
[ui]
|
|
# name and email (local to this repository, optional), e.g.
|
|
# username = Jane Doe <jdoe@example.com>
|
|
$ hg paths
|
|
default = $TESTTMP/foo%bar (glob)
|
|
$ hg showconfig
|
|
bundle.mainreporoot=$TESTTMP/foobar (glob)
|
|
paths.default=$TESTTMP/foo%bar (glob)
|
|
$ cd ..
|
|
|
|
issue1829: wrong indentation
|
|
|
|
$ echo '[foo]' > $HGRC
|
|
$ echo ' x = y' >> $HGRC
|
|
$ hg version
|
|
hg: parse error at $TESTTMP/hgrc:2: x = y
|
|
unexpected leading whitespace
|
|
[255]
|
|
|
|
$ python -c "print '[foo]\nbar = a\n b\n c \n de\n fg \nbaz = bif cb \n'" \
|
|
> > $HGRC
|
|
$ hg showconfig foo
|
|
foo.bar=a\nb\nc\nde\nfg
|
|
foo.baz=bif cb
|
|
|
|
$ FAKEPATH=/path/to/nowhere
|
|
$ export FAKEPATH
|
|
$ echo '%include $FAKEPATH/no-such-file' > $HGRC
|
|
$ hg version
|
|
Mercurial Distributed SCM (version *) (glob)
|
|
(see http://mercurial.selenic.com for more information)
|
|
|
|
Copyright (C) 2005-2014 Matt Mackall and others
|
|
This is free software; see the source for copying conditions. There is NO
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
$ unset FAKEPATH
|
|
|
|
make sure global options given on the cmdline take precedence
|
|
|
|
$ hg showconfig --config ui.verbose=True --quiet
|
|
bundle.mainreporoot=$TESTTMP
|
|
ui.verbose=False
|
|
ui.debug=False
|
|
ui.quiet=True
|
|
|
|
$ touch foobar/untracked
|
|
$ cat >> foobar/.hg/hgrc <<EOF
|
|
> [ui]
|
|
> verbose=True
|
|
> EOF
|
|
$ hg -R foobar st -q
|
|
|
|
username expansion
|
|
|
|
$ olduser=$HGUSER
|
|
$ unset HGUSER
|
|
|
|
$ FAKEUSER='John Doe'
|
|
$ export FAKEUSER
|
|
$ echo '[ui]' > $HGRC
|
|
$ echo 'username = $FAKEUSER' >> $HGRC
|
|
|
|
$ hg init usertest
|
|
$ cd usertest
|
|
$ touch bar
|
|
$ hg commit --addremove --quiet -m "added bar"
|
|
$ hg log --template "{author}\n"
|
|
John Doe
|
|
$ cd ..
|
|
|
|
$ hg showconfig
|
|
bundle.mainreporoot=$TESTTMP
|
|
ui.username=$FAKEUSER
|
|
|
|
$ unset FAKEUSER
|
|
$ HGUSER=$olduser
|
|
$ export HGUSER
|
|
|
|
showconfig with multiple arguments
|
|
|
|
$ echo "[alias]" > $HGRC
|
|
$ echo "log = log -g" >> $HGRC
|
|
$ echo "[defaults]" >> $HGRC
|
|
$ echo "identify = -n" >> $HGRC
|
|
$ 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]
|
|
|
|
HGPLAIN
|
|
|
|
$ 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
|
|
|
|
customized hgrc
|
|
|
|
$ hg showconfig
|
|
read config from: $TESTTMP/hgrc
|
|
$TESTTMP/hgrc:13: alias.log=log -g
|
|
repo: bundle.mainreporoot=$TESTTMP
|
|
$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}
|
|
|
|
plain hgrc
|
|
|
|
$ HGPLAIN=; export HGPLAIN
|
|
$ hg showconfig --config ui.traceback=True --debug
|
|
read config from: $TESTTMP/hgrc
|
|
repo: bundle.mainreporoot=$TESTTMP
|
|
--config: ui.traceback=True
|
|
--verbose: ui.verbose=False
|
|
--debug: ui.debug=True
|
|
--quiet: ui.quiet=False
|
|
|
|
plain mode with exceptions
|
|
|
|
$ cat > plain.py <<EOF
|
|
> def uisetup(ui):
|
|
> ui.write('plain: %r\n' % ui.plain())
|
|
> EOF
|
|
$ echo "[extensions]" >> $HGRC
|
|
$ echo "plain=./plain.py" >> $HGRC
|
|
$ HGPLAINEXCEPT=; export HGPLAINEXCEPT
|
|
$ hg showconfig --config ui.traceback=True --debug
|
|
plain: True
|
|
read config from: $TESTTMP/hgrc
|
|
repo: bundle.mainreporoot=$TESTTMP
|
|
$TESTTMP/hgrc:15: extensions.plain=./plain.py
|
|
--config: ui.traceback=True
|
|
--verbose: ui.verbose=False
|
|
--debug: ui.debug=True
|
|
--quiet: ui.quiet=False
|
|
$ unset HGPLAIN
|
|
$ hg showconfig --config ui.traceback=True --debug
|
|
plain: True
|
|
read config from: $TESTTMP/hgrc
|
|
repo: bundle.mainreporoot=$TESTTMP
|
|
$TESTTMP/hgrc:15: extensions.plain=./plain.py
|
|
--config: ui.traceback=True
|
|
--verbose: ui.verbose=False
|
|
--debug: ui.debug=True
|
|
--quiet: ui.quiet=False
|
|
$ HGPLAINEXCEPT=i18n; export HGPLAINEXCEPT
|
|
$ hg showconfig --config ui.traceback=True --debug
|
|
plain: True
|
|
read config from: $TESTTMP/hgrc
|
|
repo: bundle.mainreporoot=$TESTTMP
|
|
$TESTTMP/hgrc:15: extensions.plain=./plain.py
|
|
--config: ui.traceback=True
|
|
--verbose: ui.verbose=False
|
|
--debug: ui.debug=True
|
|
--quiet: ui.quiet=False
|
|
|
|
source of paths is not mangled
|
|
|
|
$ cat >> $HGRCPATH <<EOF
|
|
> [paths]
|
|
> foo = bar
|
|
> EOF
|
|
$ hg showconfig --debug paths
|
|
plain: True
|
|
read config from: $TESTTMP/hgrc
|
|
$TESTTMP/hgrc:17: paths.foo=$TESTTMP/bar
|