Show More
@@ -47,7 +47,7 b'' | |||
|
47 | 47 | |
|
48 | 48 | from mercurial.i18n import _ |
|
49 | 49 | from mercurial import util, match |
|
50 | import getpass | |
|
50 | import getpass, urllib | |
|
51 | 51 | |
|
52 | 52 | def buildmatch(ui, repo, user, key): |
|
53 | 53 | '''return tuple of (match function, list enabled).''' |
@@ -72,7 +72,15 b' def hook(ui, repo, hooktype, node=None, ' | |||
|
72 | 72 | ui.debug(_('acl: changes have source "%s" - skipping\n') % source) |
|
73 | 73 | return |
|
74 | 74 | |
|
75 | user = getpass.getuser() | |
|
75 | user = None | |
|
76 | if source == 'serve' and 'url' in kwargs: | |
|
77 | url = kwargs['url'].split(':') | |
|
78 | if url[0] == 'remote' and url[1].startswith('http'): | |
|
79 | user = urllib.unquote(url[2]) | |
|
80 | ||
|
81 | if user is None: | |
|
82 | user = getpass.getuser() | |
|
83 | ||
|
76 | 84 | cfg = ui.config('acl', 'config') |
|
77 | 85 | if cfg: |
|
78 | 86 | ui.readconfig(cfg, sections = ['acl.allow', 'acl.deny']) |
@@ -162,9 +162,10 b' def unbundle(repo, req):' | |||
|
162 | 162 | sys.stderr = sys.stdout = cStringIO.StringIO() |
|
163 | 163 | |
|
164 | 164 | try: |
|
165 |
url = 'remote:%s:%s' % ( |
|
|
166 |
|
|
|
167 |
|
|
|
165 | url = 'remote:%s:%s:%s' % ( | |
|
166 | proto, | |
|
167 | urllib.quote(req.env.get('REMOTE_HOST', '')), | |
|
168 | urllib.quote(req.env.get('REMOTE_USER', ''))) | |
|
168 | 169 | try: |
|
169 | 170 | ret = repo.addchangegroup(gen, 'serve', url) |
|
170 | 171 | except util.Abort, inst: |
General Comments 0
You need to be logged in to leave comments.
Login now