mercurial/server.py
changeset 32005 2406dbba49bd
parent 31548 ce4ddcda868b
child 32291 bd872f64a8ba
equal deleted inserted replaced
32004:bd3cb917761a 32005:2406dbba49bd
    13 
    13 
    14 from .i18n import _
    14 from .i18n import _
    15 
    15 
    16 from . import (
    16 from . import (
    17     chgserver,
    17     chgserver,
       
    18     cmdutil,
    18     commandserver,
    19     commandserver,
    19     error,
    20     error,
    20     hgweb,
    21     hgweb,
    21     util,
    22     util,
    22 )
    23 )
   128         alluis.update([repo.baseui, repo.ui])
   129         alluis.update([repo.baseui, repo.ui])
   129     else:
   130     else:
   130         baseui = ui
   131         baseui = ui
   131     webconf = opts.get('web_conf') or opts.get('webdir_conf')
   132     webconf = opts.get('web_conf') or opts.get('webdir_conf')
   132     if webconf:
   133     if webconf:
       
   134         if opts.get('subrepos'):
       
   135             raise error.Abort(_('--web-conf cannot be used with --subrepos'))
       
   136 
   133         # load server settings (e.g. web.port) to "copied" ui, which allows
   137         # load server settings (e.g. web.port) to "copied" ui, which allows
   134         # hgwebdir to reload webconf cleanly
   138         # hgwebdir to reload webconf cleanly
   135         servui = ui.copy()
   139         servui = ui.copy()
   136         servui.readconfig(webconf, sections=['web'])
   140         servui.readconfig(webconf, sections=['web'])
   137         alluis.add(servui)
   141         alluis.add(servui)
       
   142     elif opts.get('subrepos'):
       
   143         servui = ui
       
   144 
       
   145         # If repo is None, hgweb.createapp() already raises a proper abort
       
   146         # message as long as webconf is None.
       
   147         if repo:
       
   148             webconf = dict()
       
   149             cmdutil.addwebdirpath(repo, "", webconf)
   138     else:
   150     else:
   139         servui = ui
   151         servui = ui
   140 
   152 
   141     optlist = ("name templates style address port prefix ipv6"
   153     optlist = ("name templates style address port prefix ipv6"
   142                " accesslog errorlog certificate encoding")
   154                " accesslog errorlog certificate encoding")