mercurial/commands.py
changeset 10644 63948e7d37f7
parent 10635 27027bee318e
child 10649 e13797685ee6
equal deleted inserted replaced
10643:1874697a8863 10644:63948e7d37f7
    10 from i18n import _, gettext
    10 from i18n import _, gettext
    11 import os, re, sys, difflib, time, tempfile
    11 import os, re, sys, difflib, time, tempfile
    12 import hg, util, revlog, bundlerepo, extensions, copies, error
    12 import hg, util, revlog, bundlerepo, extensions, copies, error
    13 import patch, help, mdiff, url, encoding, templatekw
    13 import patch, help, mdiff, url, encoding, templatekw
    14 import archival, changegroup, cmdutil, sshserver, hbisect
    14 import archival, changegroup, cmdutil, sshserver, hbisect
    15 from hgweb import server
    15 from hgweb import server, hgweb_mod, hgwebdir_mod
    16 import merge as merge_
    16 import merge as merge_
    17 import minirst
    17 import minirst
    18 
    18 
    19 # Commands start here, listed alphabetically
    19 # Commands start here, listed alphabetically
    20 
    20 
  2885     if opts.get('port'):
  2885     if opts.get('port'):
  2886         opts['port'] = int(opts.get('port'))
  2886         opts['port'] = int(opts.get('port'))
  2887 
  2887 
  2888     baseui = repo and repo.baseui or ui
  2888     baseui = repo and repo.baseui or ui
  2889     optlist = ("name templates style address port prefix ipv6"
  2889     optlist = ("name templates style address port prefix ipv6"
  2890                " accesslog errorlog webdir_conf certificate encoding")
  2890                " accesslog errorlog certificate encoding")
  2891     for o in optlist.split():
  2891     for o in optlist.split():
  2892         val = opts.get(o, '')
  2892         val = opts.get(o, '')
  2893         if val in (None, ''): # should check against default options instead
  2893         if val in (None, ''): # should check against default options instead
  2894             continue
  2894             continue
  2895         baseui.setconfig("web", o, val)
  2895         baseui.setconfig("web", o, val)
  2896         if repo and repo.ui != baseui:
  2896         if repo and repo.ui != baseui:
  2897             repo.ui.setconfig("web", o, val)
  2897             repo.ui.setconfig("web", o, val)
  2898 
  2898 
  2899     if repo is None and not ui.config("web", "webdir_conf"):
  2899     if opts.get('webdir_conf'):
  2900         raise error.RepoError(_("There is no Mercurial repository here"
  2900         app = hgwebdir_mod.hgwebdir(opts['webdir_conf'], ui)
  2901                                 " (.hg not found)"))
  2901     elif repo is not None:
       
  2902         app = hgweb_mod.hgweb(hg.repository(repo.ui, repo.root))
       
  2903     else:
       
  2904         raise error.RepoError(_("There is no Mercurial repository"
       
  2905                                 " here (.hg not found)"))
  2902 
  2906 
  2903     class service(object):
  2907     class service(object):
  2904         def init(self):
  2908         def init(self):
  2905             util.set_signal_handler()
  2909             util.set_signal_handler()
  2906             self.httpd = server.create_server(baseui, repo)
  2910             self.httpd = server.create_server(ui, app)
  2907 
  2911 
  2908             if opts['port'] and not ui.verbose:
  2912             if opts['port'] and not ui.verbose:
  2909                 return
  2913                 return
  2910 
  2914 
  2911             if self.httpd.prefix:
  2915             if self.httpd.prefix: