diff -r b6e65bddda7c -r 265b258904d2 doc/manual.docbook --- a/doc/manual.docbook Sat Dec 04 20:22:01 2010 +0000 +++ b/doc/manual.docbook Fri Dec 17 21:00:06 2010 +0000 @@ -4,7 +4,7 @@ Sharing Mercurial repositories with mercurial-server PaulCrowley - 2009Paul Crowley, LShift Ltd + 2008-2010Paul Crowley, LShift Ltd
About mercurial-server @@ -420,6 +420,8 @@
+In detail +
How mercurial-server works All of the repositories controlled by mercurial-server are owned by a @@ -475,12 +477,31 @@ However, while the first paragraph holds no matter what bugs mercurial-server contains, the second depends on the relevant code being -correct; though the entire codebase is short, mercurial-server is a fairly -new program and may harbour bugs. Backups are essential! +correct; though the entire codebase is short, like all software mercurial-server may harbour bugs. Backups are essential! + +
+
+Logging + +Every successful access is logged in a file called +~hg/repos/repository/.hg/mercurial-server.log. This file is in YAML format for easy parsing, but if you don't like YAML, simply treat each line as a JSON data structure prepended with - . The log records the time as a +UTC ISO 8601 time, the operation ("push" or "pull"), the path to the key as +used in the access rules, the SSH connection information (including the source IP address), and the hex changeset IDs.
-Legalese +Paths and configuration + +For security reasons, all mercurial-server code runs as the hg user. The first thing this code reads when it starts is ~hg/.mercurial-server; if this file is absent or corrupt the code won't run. This file specifies all of the file paths that mercurial-server uses. In particular, it specifies that mercurial-server always uses HGRCPATH = /etc/mercurial-server/remote-hgrc.d for remote operations, overriding any system HGRCPATH. + + +By creating such a file with suitable entries, you can run mercurial-server as a user other than hg, or install it without root privileges; however I strongly recommend that if you need to do this, you use a user account that is used for no other purpose, and take the time to thoroughly understand how mercurial-server works before you attempt it. + +
+
+License This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -506,8 +527,9 @@ it. -Paul Crowley, paul@lshift.net, 2009 +Paul Crowley, paul@lshift.net, 2010
+