# HG changeset patch # User Yuya Nishihara # Date 2016-10-15 05:19:16 # Node ID a0878bc87379d0ed6d99cf10586b6765fe4e18b7 # Parent add7bcad1d9cd10457a30b85b5589689a81fb0bb server: add public function to select either cmdserver or hgweb diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -6296,10 +6296,7 @@ def serve(ui, repo, **opts): s = sshserver.sshserver(ui, repo) s.serve_forever() - if opts["cmdserver"]: - service = server.createcmdservice(ui, repo, opts) - else: - service = server.createhgwebservice(ui, repo, opts) + service = server.createservice(ui, repo, opts) return server.runservice(opts, initfn=service.init, runfn=service.run) @command('^status|st', diff --git a/mercurial/server.py b/mercurial/server.py --- a/mercurial/server.py +++ b/mercurial/server.py @@ -113,14 +113,14 @@ def runservice(opts, parentfn=None, init 'unix': commandserver.unixforkingservice, } -def createcmdservice(ui, repo, opts): +def _createcmdservice(ui, repo, opts): mode = opts['cmdserver'] try: return _cmdservicemap[mode](ui, repo, opts) except KeyError: raise error.Abort(_('unknown mode %s') % mode) -def createhgwebservice(ui, repo, opts): +def _createhgwebservice(ui, repo, opts): # this way we can check if something was given in the command-line if opts.get('port'): opts['port'] = util.getport(opts.get('port')) @@ -152,3 +152,9 @@ def createhgwebservice(ui, repo, opts): app = hgweb.createapp(baseui, repo, webconf) return hgweb.httpservice(servui, app, opts) + +def createservice(ui, repo, opts): + if opts["cmdserver"]: + return _createcmdservice(ui, repo, opts) + else: + return _createhgwebservice(ui, repo, opts)