mercurial server integration cube

Simple setup

This is the simplest setup, with mercurial-server and the Cubicweb application running on the same server.

  • get and install mercurial-server:

    apt-get install mercurial-server

    Or from sources:

    hg clone
    # remove installdoc from installfiles target of Makefile, then run (as root):
    # (files go to /etc/mercurial-server and /var/lib/mercurial-server)
    # (command line for debian-like systems, for redhat like, see official doc).
    make setup-adduser

    Official documentation can be found at and in the README file in the mercurial-server sources.

  • login as the user running the Cubicweb app with the mercurial_server cube; make sure this user has a rsa ssh key in ~/.ssh/ and run:

    sudo mkdir -p /etc/mercurial-server/keys/root/$USER
    sudo cp ~/.ssh/ /etc/mercurial-server/keys/root/$USER
    sudo -u hg /usr/local/share/mercurial-server/refresh-auth

Basic usage

The user running the Cubicweb instance must have the SSH key registered in mercurial-server configuration (see above) unlocked and available through an SSH agent.

Run and connect to the web interface, and add a new mercurial-server repository.

You can clone it immediately, start coding and push it back to the server.

Your changes are integrated into the CW application on a regular basis through a vcsfile cube recurring task (see [VCSFILE] check-revision-interval setting in your all-in-one.conf).

Permission levels

The 'deny', 'read' and 'write' permission levels are supported by all versions of mercurial-server. The 'publish' permission level is added by