# HG changeset patch # User Eric Hopper # Date 2007-08-08 20:47:30 # Node ID f94dbc6c7eaf295569c2a88d9ce0b1dbf4f3ecca # Parent dc2e512cb89a94bee1da6b61aacf14d9e1abca49 Fix hgwebdir after 9858477ed74cce9dc8f4069f9453a1bda0e13ba1 broke it. diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2471,7 +2471,7 @@ def serve(ui, repo, **opts): for o in optlist.split(): if opts[o]: parentui.setconfig("web", o, str(opts[o])) - if repo.ui != parentui: + if (repo is not None) and (repo.ui != parentui): repo.ui.setconfig("web", o, str(opts[o])) if repo is None and not ui.config("web", "webdir_conf"): diff --git a/mercurial/hgweb/server.py b/mercurial/hgweb/server.py --- a/mercurial/hgweb/server.py +++ b/mercurial/hgweb/server.py @@ -172,12 +172,28 @@ def create_server(ui, repo): return open(opt, 'w') return default - address = repo.ui.config("web", "address", "") - port = int(repo.ui.config("web", "port", 8000)) - use_ipv6 = repo.ui.configbool("web", "ipv6") - webdir_conf = repo.ui.config("web", "webdir_conf") - accesslog = openlog(repo.ui.config("web", "accesslog", "-"), sys.stdout) - errorlog = openlog(repo.ui.config("web", "errorlog", "-"), sys.stderr) + def create_getconfig(section, *uis): # uis are least significant to most + def getconfig(var, default=None): + val = default + for u in uis: + val = u.config(section, var, val) + return val + def getconfigbool(var, default=None): + val = default + for u in uis: + val = u.configbool(section, var, val) + return (getconfig, getconfigbool) + + if repo is None: + getconfig, getconfigbool = create_getconfig("web", ui) + else: + getconfig, getconfigbool = create_getconfig("web", ui, repo.ui) + address = getconfig("address", "") + port = int(getconfig("port", 8000)) + use_ipv6 = getconfigbool("ipv6") + webdir_conf = getconfig("webdir_conf") + accesslog = openlog(getconfig("accesslog", "-"), sys.stdout) + errorlog = openlog(getconfig("errorlog", "-"), sys.stderr) if use_threads: try: