Currently we are using hgnested to ease development of all repositories. As the maintainer of hgnested, I start to be tired of burden of maintaining it over each new Mercurial release because the internal API change almost at each release.
Also hgnested does not ensure the coherence of the nested tree. For example, it does not clone new repositories, it fails when switching to an other branches that a nested repository does not have etc.
So I propose to use the subrepository builtin feature of Mercurial which is more mature now than when we started hgnested and which is standard feature.
The main repository which I propose to name
development will contain this subrepo structure:
The repository will contain a hook that manage symlink inside
trytond/modules (must create missing and remove unknown based on
.hgsub configuration). This hook could be added to the
The workflow will be that every development on
default branch should be committed from the
development repository. This will ensure to update the
.hgsubstate (in case of mistake, the developer will have to manually update the
development repository with the latest revision of all subrepo).
The back-port to older branches will be pushed on each individual repository and when everything have been back-ported, the branches of
development repository will be updated.
The release process will stay as-is but a new branch will be created for the new series on the
development repository and the
default branch will be updated.
For the review, individual patches may be uploaded to Rietveld (or nested one). When we will have a patch mailing list, individual patch could be sent using patchbomp or a manual
diff with the option
Optionally, we could use this new repository to trigger a build that runs all the tests.