##// END OF EJS Templates
httprepo: long arguments support (issue2126)...
httprepo: long arguments support (issue2126) Send the command arguments in the HTTP headers. The command is still part of the URL. If the server does not have the 'httpheader' capability, the client will send the command arguments in the URL as it did previously. Web servers typically allow more data to be placed within the headers than in the URL, so this approach will: - Avoid HTTP errors due to using a URL that is too large. - Allow Mercurial to implement a more efficient wire protocol. An alternate approach is to send the arguments as part of the request body. This approach has been rejected because it requires the use of POST requests, so it would break any existing configuration that relies on the request type for authentication or caching. Extensibility: - The header size is provided by the server, which makes it possible to introduce an hgrc setting for it. - The client ignores the capability value after the first comma, which allows more information to be included in the future.

File last commit:

r13849:9f97de15 default
r14093:ce99d887 default
Show More
test-hgrc.t
171 lines | 4.2 KiB | text/troff | Tads3Lexer
Mads Kiilerich
tests: remove redundant globs...
r12640 Use hgrc within $TESTTMP
$ HGRCPATH=`pwd`/hgrc
$ export HGRCPATH
Basic syntax error
Brodie Rao
tests: unify test-hgrc
r12014 $ echo "invalid" > $HGRCPATH
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg version
Mads Kiilerich
tests: remove redundant globs...
r12640 hg: parse error at $TESTTMP/hgrc:1: invalid
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 [255]
Brodie Rao
tests: unify test-hgrc
r12014 $ echo "" > $HGRCPATH
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue1199: Can't use '%' in hgrc (eg url encoded username)
Brodie Rao
tests: unify test-hgrc
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
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ cat .hg/hgrc
Brodie Rao
tests: unify test-hgrc
r12014 [paths]
Martin Geisler
tests: use $TESTTMP more and use (glob) less...
r13572 default = $TESTTMP/foo%bar
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg paths
Martin Geisler
tests: use $TESTTMP more and use (glob) less...
r13572 default = $TESTTMP/foo%bar
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg showconfig
Martin Geisler
tests: use $TESTTMP more and use (glob) less...
r13572 bundle.mainreporoot=$TESTTMP/foobar
paths.default=$TESTTMP/foo%bar
Brodie Rao
tests: unify test-hgrc
r12014 $ cd ..
issue1829: wrong indentation
$ echo '[foo]' > $HGRCPATH
$ echo ' x = y' >> $HGRCPATH
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg version
Mads Kiilerich
tests: remove redundant globs...
r12640 hg: parse error at $TESTTMP/hgrc:2: x = y
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 [255]
Brodie Rao
tests: unify test-hgrc
r12014
$ python -c "print '[foo]\nbar = a\n b\n c \n de\n fg \nbaz = bif cb \n'" \
> > $HGRCPATH
$ 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' > $HGRCPATH
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg version
Mads Kiilerich
tests: remove redundant globs...
r12640 hg: parse error at $TESTTMP/hgrc:1: cannot include /path/to/nowhere/no-such-file (No such file or directory)
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 [255]
Brodie Rao
tests: unify test-hgrc
r12014 $ unset FAKEPATH
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"
John Doe
$ cd ..
Nicolas Dumazet
tests: remove useless sed in test-hgrc
r12109 $ hg showconfig
Brodie Rao
tests: unify test-hgrc
r12014 ui.username=$FAKEUSER
$ unset FAKEUSER
$ HGUSER=$olduser
$ export HGUSER
Brodie Rao
showconfig: don't accept multiple sections and one config item...
r12697 showconfig with multiple arguments
$ echo "[alias]" > $HGRCPATH
$ echo "log = log -g" >> $HGRCPATH
$ echo "[defaults]" >> $HGRCPATH
$ echo "identify = -n" >> $HGRCPATH
$ 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]
Brodie Rao
tests: unify test-hgrc
r12014 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
customized hgrc
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg showconfig
Mads Kiilerich
tests: remove redundant globs...
r12640 read config from: $TESTTMP/hgrc
$TESTTMP/hgrc:13: alias.log=log -g
$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}
Brodie Rao
tests: unify test-hgrc
r12014
plain hgrc
$ HGPLAIN=; export HGPLAIN
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg showconfig --config ui.traceback=True --debug
Mads Kiilerich
tests: remove redundant globs...
r12640 read config from: $TESTTMP/hgrc
Brodie Rao
tests: unify test-hgrc
r12014 none: ui.traceback=True
none: ui.verbose=False
none: ui.debug=True
none: ui.quiet=False
Brodie Rao
HGPLAIN: allow exceptions to plain mode, like i18n, via HGPLAINEXCEPT...
r13849
plain mode with exceptions
$ cat > plain.py <<EOF
> def uisetup(ui):
> ui.write('plain: %r\n' % ui.plain())
> EOF
$ echo "[extensions]" >> $HGRCPATH
$ echo "plain=./plain.py" >> $HGRCPATH
$ HGPLAINEXCEPT=; export HGPLAINEXCEPT
$ hg showconfig --config ui.traceback=True --debug
plain: ['']
read config from: $TESTTMP/hgrc
$TESTTMP/hgrc:15: extensions.plain=./plain.py
none: ui.traceback=True
none: ui.verbose=False
none: ui.debug=True
none: ui.quiet=False
$ unset HGPLAIN
$ hg showconfig --config ui.traceback=True --debug
plain: ['']
read config from: $TESTTMP/hgrc
$TESTTMP/hgrc:15: extensions.plain=./plain.py
none: ui.traceback=True
none: ui.verbose=False
none: ui.debug=True
none: ui.quiet=False
$ HGPLAINEXCEPT=i18n; export HGPLAINEXCEPT
$ hg showconfig --config ui.traceback=True --debug
plain: ['i18n']
read config from: $TESTTMP/hgrc
$TESTTMP/hgrc:15: extensions.plain=./plain.py
none: ui.traceback=True
none: ui.verbose=False
none: ui.debug=True
none: ui.quiet=False