# HG changeset patch # User Paul Crowley # Date 1292598503 0 # Node ID 9f7ad3a71c906bcd6bf09420b554199c5b66f052 # Parent 675474f5be324b6df9c03a9a203e81e36b042509 Bump version number to 1.1; big documentation update; correct dates; add to NEWS and CREDITS. diff -r 675474f5be32 -r 9f7ad3a71c90 CREDITS --- a/CREDITS Fri Dec 17 14:39:25 2010 +0000 +++ b/CREDITS Fri Dec 17 15:08:23 2010 +0000 @@ -18,6 +18,7 @@ Vincenzo Campanella Ji ZhengYu Waldemar Augustyn +Steven King This credits file may be incomplete - please remind me about people I should add! diff -r 675474f5be32 -r 9f7ad3a71c90 NEWS --- a/NEWS Fri Dec 17 14:39:25 2010 +0000 +++ b/NEWS Fri Dec 17 15:08:23 2010 +0000 @@ -1,3 +1,15 @@ +====================== +mercurial-server 1.1 +====================== + +* New log filename +* Changed logging format to use JSON/YAML +* Add the source IP address and other info in the SSH_CONNECTION environment variable +* Lock log file +* Make sure authorized_keys file is mode 600 + +Upgrading: note the changes to the log file format listed above. + ====================== mercurial-server 1.0.1 ====================== diff -r 675474f5be32 -r 9f7ad3a71c90 README --- a/README Fri Dec 17 14:39:25 2010 +0000 +++ b/README Fri Dec 17 15:08:23 2010 +0000 @@ -6,7 +6,7 @@ http://www.lshift.net/mercurial-server.html -Copyright (C) 2008-2009 LShift Ltd. +Copyright (C) 2008-2010 LShift Ltd. 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 @@ -40,5 +40,5 @@ See doc/manual.docbook for the rest of the documentation. -Paul Crowley, paul@lshift.net, 2009 +Paul Crowley, paul@lshift.net, 2010 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
+ diff -r 675474f5be32 -r 9f7ad3a71c90 setup.py --- a/setup.py Fri Dec 17 14:39:25 2010 +0000 +++ b/setup.py Fri Dec 17 15:08:23 2010 +0000 @@ -7,7 +7,7 @@ name="mercurial-server", description="Centralized Mercurial repository manager", url="http://www.lshift.net/mercurial-server.html", - version="1.0.1", # FIXME: infer this + version="1.1", # FIXME: infer this package_dir = {'': 'src'}, packages = ["mercurialserver"], requires = ["mercurial"], # FIXME: what version?