##// 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 8 import os, re, sys, signal
9 9 import fancyopts, ui, hg, util
10 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 13 class UnknownCommand(Exception): pass
14 14
@@ -793,8 +793,21 b' def root(ui, repo):'
793 793
794 794 def serve(ui, repo, **opts):
795 795 """export the repository via HTTP"""
796 hgweb.server(repo.root, opts["name"], opts["templates"],
797 opts["address"], opts["port"])
796 httpd = hgweb.create_server(repo.root, opts["name"], opts["templates"],
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 812 def status(ui, repo):
800 813 '''show changed files in the working directory
@@ -694,7 +694,7 b' class hgweb:'
694 694 else:
695 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 699 import BaseHTTPServer
700 700 import sys, os
@@ -759,5 +759,8 b' def server(path, name, templates, addres'
759 759 sys.argv, sys.stdin, sys.stdout, sys.stderr = save
760 760
761 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 766 httpd.serve_forever()
General Comments 0
You need to be logged in to leave comments. Login now