hg serve

start stand-alone webserver



hg serve [OPTION]...


Start a local HTTP repository browser and pull server. You can use this for ad-hoc sharing and browsing of repositories. It is recommended to use a real web server to serve a repository for longer periods of time.

Please note that the server does not implement access control. This means that, by default, anybody can read from the server and nobody can write to it by default. Set the web.allow-push option to * to allow everybody to push to the server. You should use a real web server if you need to authenticate users.

By default, the server logs accesses to stdout and errors to stderr. Use the -A/--accesslog and -E/--errorlog options to log to files.

To have the server choose a free port number to listen on, specify a port number of 0; in this case, the server will print the port number it uses.

Returns 0 on success.


-A, --accesslog <FILE>
 name of access log file to write to
-d, --daemon run server in background
--daemon-postexec <VALUE[+]>
 used internally by daemon mode
-E, --errorlog <FILE>
 name of error log file to write to
-p, --port <PORT>
 port to listen on (default: 8000)
-a, --address <ADDR>
 address to listen on (default: all interfaces)
--prefix <PREFIX>
 prefix path to serve from (default: server root)
-n, --name <NAME>
 name to show in web pages (default: working directory)
--web-conf <FILE>
 name of the hgweb config file (see 'hg help hgweb')
--webdir-conf <FILE>
 name of the hgweb config file (DEPRECATED)
--pid-file <FILE>
 name of file to write process ID to
--stdio for remote clients (ADVANCED)
--cmdserver <MODE>
 for remote clients (ADVANCED)
-t, --templates <TEMPLATE>
 web templates to use
--style <STYLE>
 template style to use
-6, --ipv6 use IPv6 in addition to IPv4
--certificate <FILE>
 SSL certificate file
--print-url start and print only the URL
-S, --subrepos recurse into subrepositories

[+] marked option can be specified multiple times