##// END OF EJS Templates
[PATCH] Get "hg serve" to print the URL being served...
mpm@selenic.com -
r603:bc5d058e default
parent child Browse files
Show More
@@ -8,7 +8,7 b''
8 import os, re, sys, signal
8 import os, re, sys, signal
9 import fancyopts, ui, hg, util
9 import fancyopts, ui, hg, util
10 from demandload import *
10 from demandload import *
11 demandload(globals(), "mdiff time hgweb traceback random signal errno version")
11 demandload(globals(), "mdiff time hgweb traceback random signal socket errno version")
12
12
13 class UnknownCommand(Exception): pass
13 class UnknownCommand(Exception): pass
14
14
@@ -793,8 +793,21 b' def root(ui, repo):'
793
793
794 def serve(ui, repo, **opts):
794 def serve(ui, repo, **opts):
795 """export the repository via HTTP"""
795 """export the repository via HTTP"""
796 hgweb.server(repo.root, opts["name"], opts["templates"],
796 httpd = hgweb.create_server(repo.root, opts["name"], opts["templates"],
797 opts["address"], opts["port"])
797 opts["address"], opts["port"])
798 if ui.verbose:
799 addr, port = httpd.socket.getsockname()
800 if addr == '0.0.0.0':
801 addr = socket.gethostname()
802 else:
803 try:
804 addr = socket.gethostbyaddr(addr)[0]
805 except: pass
806 if port != 80:
807 ui.status('listening on http://%s:%d/\n' % (addr, port))
808 else:
809 ui.status('listening on http://%s/\n' % addr)
810 httpd.serve_forever()
798
811
799 def status(ui, repo):
812 def status(ui, repo):
800 '''show changed files in the working directory
813 '''show changed files in the working directory
@@ -694,7 +694,7 b' class hgweb:'
694 else:
694 else:
695 write(self.t("error"))
695 write(self.t("error"))
696
696
697 def server(path, name, templates, address, port):
697 def create_server(path, name, templates, address, port):
698
698
699 import BaseHTTPServer
699 import BaseHTTPServer
700 import sys, os
700 import sys, os
@@ -759,5 +759,8 b' def server(path, name, templates, addres'
759 sys.argv, sys.stdin, sys.stdout, sys.stderr = save
759 sys.argv, sys.stdin, sys.stdout, sys.stderr = save
760
760
761 hg = hgweb(path, name, templates)
761 hg = hgweb(path, name, templates)
762 httpd = BaseHTTPServer.HTTPServer((address, port), hgwebhandler)
762 return BaseHTTPServer.HTTPServer((address, port), hgwebhandler)
763
764 def server(path, name, templates, address, port):
765 httpd = create_server(path, name, templates, address, port)
763 httpd.serve_forever()
766 httpd.serve_forever()
General Comments 0
You need to be logged in to leave comments. Login now