⇤ ← Revision 1 as of 2011-03-03 14:40:39
Size: 1074
Comment:
|
Size: 1450
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.