diff mercurial/commands.py @ 2127:8a85dbbadddf

Allow 'hg serve --webdir-conf foo' to be run outside a repository.
author Thomas Arendsen Hein <thomas@intevation.de>
date Tue, 25 Apr 2006 19:38:19 +0200
parents 3610d9468b1e
children ef81e34ad674
line wrap: on
line diff
--- a/mercurial/commands.py	Tue Apr 25 18:50:40 2006 +0200
+++ b/mercurial/commands.py	Tue Apr 25 19:38:19 2006 +0200
@@ -2495,6 +2495,8 @@
     """
 
     if opts["stdio"]:
+        if repo is None:
+            raise hg.RepoError(_('no repo found'))
         fin, fout = sys.stdin, sys.stdout
         sys.stdout = sys.stderr
 
@@ -2572,6 +2574,9 @@
         if opts[o]:
             ui.setconfig("web", o, opts[o])
 
+    if repo is None and not ui.config("web", "webdir_conf"):
+        raise hg.RepoError(_('no repo found'))
+
     if opts['daemon'] and not opts['daemon_pipefds']:
         rfd, wfd = os.pipe()
         args = sys.argv[:]
@@ -2583,7 +2588,7 @@
         os._exit(0)
 
     try:
-        httpd = hgweb.create_server(repo)
+        httpd = hgweb.create_server(ui, repo)
     except socket.error, inst:
         raise util.Abort(_('cannot start server: ') + inst.args[1])
 
@@ -3202,7 +3207,7 @@
 
 norepo = ("clone init version help debugancestor debugcomplete debugdata"
           " debugindex debugindexdot")
-optionalrepo = ("paths debugconfig")
+optionalrepo = ("paths serve debugconfig")
 
 def findpossible(cmd):
     """