Size: 1450
Comment:
|
Size: 1697
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
Noteworthy amongsth these repos are: * `hooks` contains a variety of hooks used for other repos (such as whitespace checking) * `pymigr` contains scripts and data for the SVN to Mercurial conversion * `test` is a test repo for committers |
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.
Noteworthy amongsth these repos are:
hooks contains a variety of hooks used for other repos (such as whitespace checking)
pymigr contains scripts and data for the SVN to Mercurial conversion
test is a test repo for committers