OpenIndiana maintains source repositories directly cloned from the repositories at opensolaris.org.
The OpenIndiana repositories are read/write and can be cloned via http. You can browse all the Mercurial repositories here: http://pkgdev.openindiana.org/hg/
Log in to pkgdev.openindiana.org. Create a filesystem for the new repo under data/export, named as the repo:
Change it to owned by the hg user, hg group:
Tell the Mercurial web app about it, by adding a line to /usr/demo/mercurial/hgweb.config:
Switch to the hg user, and clone into the filesystem:
(If you forget the -U flag, do an hg update null in the repo after the clone.) Edit the repository's web information, /data/export/wombat/.hg/hgrc:
The hg user has a cron job which runs a script (update-repos.sh) which pull updates from remote repos. Add this repo to the script.
This is a bit fiddlier, as it needs to use a custom-built copy of hg. But the only step that's really different is the cloning. Do this instead:
Converting big subversion repositories is seriously slow, consider running hg inside screen or using nohup.
The cron job can't update a converted repo. You basically have to re-run the conversion step again - but it is smart enough to do an incremental conversion.
We allow a number of users to push changes to the repos. We use the model of a single "hg" account which can only be accessed via ssh with public keys, and the authorized committers have their public keys in the hg account's .ssh/authorized_keys file.