maintenance of mercurial repository sets made easy
It proposes two basic tools:
A confman specification (including the baseline) is contained within the .hgconf file.
Example .hgconf file with two managed repositories:
[yams] pulluri = http://hg.logilab.org/yams layout = yams track = yams-version-0.34.0 [logilab.common] pulluri = http://hg.logilab.org/logilab/common layout = logilab/common track = stable hgrc.paths.review = ssh://hg.logilab.org/review/confman/
The optional track attribute can point to a branch or tagname. This is how the baseline is declared.
Snapshoting is handled in .hgsnap files. These are populated with the hg snapshot command.
Example .hgsnap file (same format as the .hgsubstate of mercurial subrepositories):
07e945b806f5285535bf7882b8bf1003d01eb7ab logilab/common 60caa0a406438b322f752d96df59963eecd2e54a yams
list of commands:
clonemissing clones the repositories declared in the ".hgconf" file that are not yet cloned confcheck check the ".hgconf" file for errors and warns of uncloned repositories ensureconf hg ensureconf clones (if needed), pulls and updates the managed repositories followtracks update repositories according to their "track" attribute if they have one snapshot record changeset ids of the managed repositories into the ".hgsnapshot" file
|source repository||confman repository|
|test environment||test env for confman|
|may be discussed on||python-projects|