Differences between revisions 1 and 2
Revision 1 as of 2011-03-03 14:40:39
Size: 1074
Editor: charlus
Comment:
Revision 2 as of 2011-03-03 14:45:06
Size: 1450
Editor: charlus
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Mercurial itself uses a recent stable build, with a couple of patches. The Mercurial tree is in `~hg/mercurial`. The patches are in named branch `local`, which is branched off branch `stable`. This source tree is installed in `~hg/lib/python`, using `make install-home`. Mercurial itself uses a recent stable build, with a couple of custom patches. The Mercurial tree is in `~hg/mercurial`. The patches are in named branch `local`, which is branched off branch `stable`. This source tree is installed in `~hg/lib/python`, using `make install-home`.
Line 7: Line 7:
Scripts are in `~hg/bin`, which is itself versioned using Mercurial: Scripts are in `~hg/bin`, which is versioned using Mercurial:
Line 14: Line 14:
Public repos are in `~hg/repos`. They are served using two mechanisms:

 * for the `ssh://...` URLs (which allowing pushing), by the `hg-ssh` script mentioned above
 * for the `http://hg.python.org/...` URLs, using WSGI script `~hg/wsgi/python.wsgi` run by a mod_wsgi instance in daemon mode under user `hg`. This script itself uses configuration file `~hg/repos.conf`.

Mercurial setup

Mercurial services (hg.python.org) are currently hosted on dinsdale.python.org. Everything is under user hg's home directory in /data/hg.

Mercurial itself uses a recent stable build, with a couple of custom patches. The Mercurial tree is in ~hg/mercurial. The patches are in named branch local, which is branched off branch stable. This source tree is installed in ~hg/lib/python, using make install-home.

Scripts are in ~hg/bin, which is versioned using Mercurial:

  • genauth regenerates the .ssh/authorized_keys file using the current committers' public keys

  • hg-ssh is used as a shell for remote logins of user hg, in order to restrict them to a few safe commands

  • gcrepos detects "stale" repositories in a directory ("stale" meaning having received no new changesets since their creation), so as to enable garbage-collecting of unused server-side clones; this still needs wrapping in a cronjob

  • hg itself is the Mercurial executable installed by make install-home

Public repos are in ~hg/repos. They are served using two mechanisms:

  • for the ssh://... URLs (which allowing pushing), by the hg-ssh script mentioned above

  • for the http://hg.python.org/... URLs, using WSGI script ~hg/wsgi/python.wsgi run by a mod_wsgi instance in daemon mode under user hg. This script itself uses configuration file ~hg/repos.conf.


CategoryPythonWebsite

Admin/Mercurial (last edited 2013-11-20 10:53:23 by MarcAndreLemburg)

Unable to edit the page? See the FrontPage for instructions.