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 |
|
|
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