diff -r 675474f5be32 -r 9f7ad3a71c90 doc/manual.docbook
--- a/doc/manual.docbook Fri Dec 17 14:39:25 2010 +0000
+++ b/doc/manual.docbook Fri Dec 17 15:08:23 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,14 +420,7 @@
-Logging
-
-Every successful access is logged in a file called
-~hg/repos/repository/.hg/servelog. 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, and the hex changeset ID.
-
-
+
In detail
How mercurial-server works
@@ -459,6 +452,7 @@
automatically whenever a change is pushed to hgadmin.
+
Security
@@ -483,13 +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.
+
+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 and thanks
+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
@@ -507,13 +519,17 @@
with this program; if not, write to the Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+Thanks
Thanks for reading this far. If you use mercurial-server, please tell me about
it.
-Paul Crowley, paul@lshift.net, 2009
+Paul Crowley, paul@lshift.net, 2010
+