6 # of the GNU General Public License, incorporated herein by reference. |
6 # of the GNU General Public License, incorporated herein by reference. |
7 |
7 |
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 |
15 def filterfiles(filters, files): |
15 def filterfiles(filters, files): |
16 l = [ x for x in files if x in filters ] |
16 l = [ x for x in files if x in filters ] |
791 """print the root (top) of the current working dir""" |
791 """print the root (top) of the current working dir""" |
792 ui.write(repo.root + "\n") |
792 ui.write(repo.root + "\n") |
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 |
801 |
814 |
802 C = changed |
815 C = changed |