Publishing repo.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Mon, 08 Nov 2010 00:17:12 +0200
changeset 676 e7632a1fdeca
parent 675 47d4ad70738f
child 677 09283c165bfc
Publishing repo.
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 <admin@example.com>
+  description = <p style="color: red;">$proj</b> allow make a <a href="http://example.com">BIG Thing.</a>
+  # 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