mercurial/commands.py
changeset 603 bc5d058e65e9
parent 596 9a8daeff0ffa
child 604 40a66d464ac2
equal deleted inserted replaced
602:56d81b303656 603:bc5d058e65e9
     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