##// END OF EJS Templates
hgweb: do not ignore [auth] if url has a username (issue2822)...
hgweb: do not ignore [auth] if url has a username (issue2822) The [auth] section was ignored when handling URLs like: http://user@example.com/foo Instead, we look in [auth] for an entry matching the URL and supplied user name. Entries without username can match URL with a username. Prefix length ties are resolved in favor of entries matching the username. With: foo.prefix = http://example.org foo.username = user foo.password = password bar.prefix = http://example.org/bar and the input URL: http://user@example.org/bar the 'bar' entry will be selected because of prefix length, therefore prompting for a password. This behaviour ensure that entries selection is consistent when looking for credentials or for certificates, and that certificates can be picked even if their entries do no define usernames while the URL does. Additionally, entries without a username matched against a username are returned as if they did have requested username set to avoid prompting again for a username if the password is not set. v2: reparse the URL in readauthforuri() to handle HTTP and HTTPS similarly. v3: allow unset usernames to match URL usernames to pick certificates. Resolve prefix length ties in favor of entries with usernames.

File last commit:

r14438:08bfec2e default
r15005:4a43e23b 1.9.1 stable
Show More
test-dispatch.py
33 lines | 786 B | text/x-python | PythonLexer
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 import os
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 from mercurial import dispatch
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 def testdispatch(cmd):
"""Simple wrapper around dispatch.dispatch()
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
Prints command and result value, but does not handle quoting.
"""
print "running: %s" % (cmd,)
Idan Kamara
dispatch: wrap dispatch related information in a request class...
r14438 req = dispatch.request(cmd.split())
result = dispatch.dispatch(req)
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 print "result: %r" % (result,)
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("init test1")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 os.chdir('test1')
# create file 'foo', add and commit
Alejandro Santos
compat: use open() instead of file() everywhere
r9031 f = open('foo', 'wb')
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 f.write('foo\n')
f.close()
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("add foo")
testdispatch("commit -m commit1 -d 2000-01-01 foo")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
# append to file 'foo' and commit
Alejandro Santos
compat: use open() instead of file() everywhere
r9031 f = open('foo', 'ab')
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095 f.write('bar\n')
f.close()
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("commit -m commit2 -d 2000-01-02 foo")
Thomas Arendsen Hein
Added test for commands.dispatch (especially 88803a69b24)
r5095
# check 88803a69b24 (fancyopts modified command table)
Matt Mackall
dispatch: move command dispatching into its own module...
r5178 testdispatch("log -r 0")
testdispatch("log -r tip")