mercurial server integration cube
This is the simplest setup, with mercurial-server and the Cubicweb application running on the same server.
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).
The mercurial-server cube provides a way to participate in the edition of a mercurial-server configuration.
The MercurialServerConfig entity must be set up with the following attributes:
If a non default access conf filename is used, the mercurial-server side must be informed to use it, by editing the /var/lib/mercurial-server/.mercurial-server file:
A complete mercurial-server configuration must be set up first.
Perform the initialization steps as above:
From now, MercurialServerPermission creation, edition or deletion will trigger automatic update of the controlled access configuration file.
Also, the end-user can create repository objects hosted by the mercurial server config object: actual mercurial repositories will be created remotely and their owner will be able to clone them, using the provided uri.
There exists a regenerate action on the MercurialServerConfig entities main view that will force a full regeneration of the access file and of the keys if clicked upon. This can be useful at server startup, after a database restore, or if a sysadmin murked away the original hgadmin repository.
As a side effect, user keys (reachable from such permission objects) may be added or deleted to the keys/<keys subdir> segment in the hgadmin repository, and the <access conf file> will be entirely regenerated.
Be aware that the mercurial-server cube will NEVER try to synchronize itself back from the current state of the hgadmin repository. It is a one-way trip.
On deletion of a MercurialServer entity, the access files and relevant user keys will be destroyed in the hgadmin repository.
|source repository||mercurial-server repository|
|test environment||mercurial-server env|
|may be discussed on||CubicWeb|
- cubicweb #4255644 Repository for update
- cubicweb-vcsfile component to integrate version control systems data into the CubicWeb framework
- TheCubicWebBook #656194 CW Administration: how to give dynamic permissions
- Continuous Integration platform for Mercurial with apycot
- cubicweb #511718 explain why rql expr insertion doesn't work to ease security debugging