diff -r 47d4ad70738f -r e7632a1fdeca hg.rst --- a/hg.rst Sun Nov 07 23:17:10 2010 +0200 +++ b/hg.rst Mon Nov 08 00:17:12 2010 +0200 @@ -55,12 +55,7 @@ [defaults] log = -f -* Publishing config. - - http://mercurial.selenic.com/wiki/PublishingRepositories - Publishing Mercurial Repositories - -* Publish repos. +* Publishing repo. With static HTTP hosting you can copy via rsync, ftp, scp, etc., so long as all the files beneath .hg are copied. Also since 1.1 pull protocol can detect static HTTP hosting: @@ -68,8 +63,67 @@ $ hg clone http://example.com/project http://mercurial.selenic.com/wiki/hgserve + http://mercurial.selenic.com/wiki/HgWebDirStepByStep http://mercurial.selenic.com/wiki/StaticHTTP +** hgweb.config. + +Set allowed project by specifying paths to they (keys are URL, values are fs paths): + + [paths] + myproject = /home/user/hg/myproject + otherproject = /home/user/hg/otherproject + +You can use single wildcard '*' to search current subdirs or double wildcard '**' to search subdirs +recursively: + + [paths] + myproject = /home/user/hg/my/* + otherproject = /home/user/hg/other/** + +Alternatively you can set a collection of repos (keys and values are both filesystem paths, keys +should be prefixes of the values and are "subtracted" from the values in order to generate the URL +paths to each repository): + + [collections] + /home/user/hg = /home/user/hg + /home/another/hg = /home/another/hg + +Allow archive downloads: + + [web] + allow_archive = gz, zip, bz2 + +Make web page look nice: + + [web] + style = gitweb + +Set another settings: + + [web] + encoding = UTF-8 + + maxchanges = 100 + maxfiles = 100 + +In each $proj/.hg/hgrc put: + + [web] + contact = ADMIN + description =

$proj allow make a BIG Thing. + # Do not use name, in this case you see dir name where project lcated. + # name = $proj + +To allow push in 'hg serv': + + [web] + allow_push = * + push_ssl = false + + http://mercurial.selenic.com/wiki/PublishingRepositories + Publishing Mercurial Repositories + ** init.d script. #!/bin/sh