Show More
@@ -112,7 +112,7 b' class hgwebzc(hgweb_mod.hgweb):' | |||||
112 | class hgwebdirzc(hgwebdir_mod.hgwebdir): |
|
112 | class hgwebdirzc(hgwebdir_mod.hgwebdir): | |
113 | def run(self): |
|
113 | def run(self): | |
114 | for r, p in self.repos: |
|
114 | for r, p in self.repos: | |
115 |
u = |
|
115 | u = self.parentui.copy() | |
116 | u.readconfig(os.path.join(p, '.hg', 'hgrc')) |
|
116 | u.readconfig(os.path.join(p, '.hg', 'hgrc')) | |
117 | n = os.path.basename(r) |
|
117 | n = os.path.basename(r) | |
118 | publish(n, "hgweb", p, int(u.config("web", "port", 8000))) |
|
118 | publish(n, "hgweb", p, int(u.config("web", "port", 8000))) |
@@ -2677,13 +2677,13 b' def serve(ui, repo, **opts):' | |||||
2677 | s = sshserver.sshserver(ui, repo) |
|
2677 | s = sshserver.sshserver(ui, repo) | |
2678 | s.serve_forever() |
|
2678 | s.serve_forever() | |
2679 |
|
2679 | |||
2680 |
|
|
2680 | baseui = repo and repo.baseui or ui | |
2681 | optlist = ("name templates style address port prefix ipv6" |
|
2681 | optlist = ("name templates style address port prefix ipv6" | |
2682 | " accesslog errorlog webdir_conf certificate") |
|
2682 | " accesslog errorlog webdir_conf certificate") | |
2683 | for o in optlist.split(): |
|
2683 | for o in optlist.split(): | |
2684 | if opts[o]: |
|
2684 | if opts[o]: | |
2685 |
|
|
2685 | baseui.setconfig("web", o, str(opts[o])) | |
2686 |
if (repo is not None) and (repo.ui != |
|
2686 | if (repo is not None) and (repo.ui != baseui): | |
2687 | repo.ui.setconfig("web", o, str(opts[o])) |
|
2687 | repo.ui.setconfig("web", o, str(opts[o])) | |
2688 |
|
2688 | |||
2689 | if repo is None and not ui.config("web", "webdir_conf"): |
|
2689 | if repo is None and not ui.config("web", "webdir_conf"): | |
@@ -2693,7 +2693,7 b' def serve(ui, repo, **opts):' | |||||
2693 | class service: |
|
2693 | class service: | |
2694 | def init(self): |
|
2694 | def init(self): | |
2695 | util.set_signal_handler() |
|
2695 | util.set_signal_handler() | |
2696 |
self.httpd = hgweb.server.create_server( |
|
2696 | self.httpd = hgweb.server.create_server(baseui, repo) | |
2697 |
|
2697 | |||
2698 | if not ui.verbose: return |
|
2698 | if not ui.verbose: return | |
2699 |
|
2699 |
@@ -269,7 +269,7 b' def _dispatch(ui, args):' | |||||
269 | lui = ui |
|
269 | lui = ui | |
270 | if path: |
|
270 | if path: | |
271 | try: |
|
271 | try: | |
272 |
lui = |
|
272 | lui = ui.copy() | |
273 | lui.readconfig(os.path.join(path, ".hg", "hgrc")) |
|
273 | lui.readconfig(os.path.join(path, ".hg", "hgrc")) | |
274 | except IOError: |
|
274 | except IOError: | |
275 | pass |
|
275 | pass | |
@@ -278,7 +278,7 b' def _dispatch(ui, args):' | |||||
278 | rpath = _earlygetopt(["-R", "--repository", "--repo"], args) |
|
278 | rpath = _earlygetopt(["-R", "--repository", "--repo"], args) | |
279 | if rpath: |
|
279 | if rpath: | |
280 | path = lui.expandpath(rpath[-1]) |
|
280 | path = lui.expandpath(rpath[-1]) | |
281 |
lui = |
|
281 | lui = ui.copy() | |
282 | lui.readconfig(os.path.join(path, ".hg", "hgrc")) |
|
282 | lui.readconfig(os.path.join(path, ".hg", "hgrc")) | |
283 |
|
283 | |||
284 | extensions.loadall(lui) |
|
284 | extensions.loadall(lui) |
@@ -203,7 +203,7 b' class hgwebdir(object):' | |||||
203 | continue |
|
203 | continue | |
204 | name = name[len(subdir):] |
|
204 | name = name[len(subdir):] | |
205 |
|
205 | |||
206 |
u = |
|
206 | u = self.parentui.copy() | |
207 | try: |
|
207 | try: | |
208 | u.readconfig(os.path.join(path, '.hg', 'hgrc')) |
|
208 | u.readconfig(os.path.join(path, '.hg', 'hgrc')) | |
209 | except Exception, e: |
|
209 | except Exception, e: |
@@ -13,7 +13,7 b' import config, traceback, util, error' | |||||
13 | '0':False, 'no':False, 'false':False, 'off':False} |
|
13 | '0':False, 'no':False, 'false':False, 'off':False} | |
14 |
|
14 | |||
15 | class ui(object): |
|
15 | class ui(object): | |
16 |
def __init__(self, |
|
16 | def __init__(self, src=None): | |
17 | self.buffers = [] |
|
17 | self.buffers = [] | |
18 | self.quiet = self.verbose = self.debugflag = self.traceback = False |
|
18 | self.quiet = self.verbose = self.debugflag = self.traceback = False | |
19 | self.interactive = self.report_untrusted = True |
|
19 | self.interactive = self.report_untrusted = True | |
@@ -23,12 +23,12 b' class ui(object):' | |||||
23 | self.trusted_users = {} |
|
23 | self.trusted_users = {} | |
24 | self.trusted_groups = {} |
|
24 | self.trusted_groups = {} | |
25 |
|
25 | |||
26 |
if |
|
26 | if src: | |
27 |
self.cdata = |
|
27 | self.cdata = src.cdata.copy() | |
28 |
self.ucdata = |
|
28 | self.ucdata = src.ucdata.copy() | |
29 |
self.overlay = |
|
29 | self.overlay = src.overlay.copy() | |
30 |
self.trusted_users = |
|
30 | self.trusted_users = src.trusted_users.copy() | |
31 |
self.trusted_groups = |
|
31 | self.trusted_groups = src.trusted_groups.copy() | |
32 | self.fixconfig() |
|
32 | self.fixconfig() | |
33 | else: |
|
33 | else: | |
34 | # we always trust global config files |
|
34 | # we always trust global config files |
@@ -59,9 +59,8 b" def testui(user='foo', group='bar', tuse" | |||||
59 | print '# %s user, %s group%s' % (kind[user == cuser], kind[group == cgroup], |
|
59 | print '# %s user, %s group%s' % (kind[user == cuser], kind[group == cgroup], | |
60 | trusted) |
|
60 | trusted) | |
61 |
|
61 | |||
62 |
|
|
62 | u = ui.ui() | |
63 |
|
|
63 | u.setconfig('ui', 'debug', str(bool(debug))) | |
64 | u = ui.ui(parentui=parentui) |
|
|||
65 | u.readconfig('.hg/hgrc') |
|
64 | u.readconfig('.hg/hgrc') | |
66 | if silent: |
|
65 | if silent: | |
67 | return u |
|
66 | return u | |
@@ -146,7 +145,7 b' print "# read trusted, untrusted, new ui' | |||||
146 | u = ui.ui() |
|
145 | u = ui.ui() | |
147 | u.setconfig('ui', 'debug', 'on') |
|
146 | u.setconfig('ui', 'debug', 'on') | |
148 | u.readconfig(filename) |
|
147 | u.readconfig(filename) | |
149 | u2 = ui.ui(parentui=u) |
|
148 | u2 = u.copy() | |
150 | def username(uid=None): |
|
149 | def username(uid=None): | |
151 | return 'foo' |
|
150 | return 'foo' | |
152 | util.username = username |
|
151 | util.username = username |
General Comments 0
You need to be logged in to leave comments.
Login now