[Buildbot-devel] buildbot Version Control when a single buildbot builder needs multiple Git repositories

Ian Zimmerman itz at clustrix.com
Thu Aug 26 00:49:05 UTC 2010


On Wed, 25 Aug 2010 15:42:02 -0700
Tony Wallace <anthonylee.wallace at gmail.com> wrote:

> Right now this buildbot runs builds in which a ShellCommand buildstep
> checks out the project source using Linux commands:
> 
>       repo init -u "git://ours/manifest.git"
> 
>       repo sync
> 
> 
> 
> The above repo commands could be replaced with the equivalent git
> commands:
> 
>       git clone "git://ours/thing-one"
> 
>       git clone "git://ours/thing-two"
> 
>       git clone "git://ours/thing-three"
> 
>       git clone "git://ours/thing-four"
> 

I need something similar with mercurial, and I use a hack :-)

I have set up a "meta-repo" that contains files listing the repo and
revision of each component.  For example:

./thing-one.hg:

thing-one fa8db80ca9f1

./thing-two.hg:

thing-two f0c3f3cb66a9


etc.

Now, when a notification of a change in one of the components comes in,
it is not seen directly by buildbot.  Instead, a script (called by
procmail or something) handles it by editing one of the .hg files and
checking it into the meta-repo.  That is then handled by buildbot in
the regular fashion, and my buildsteps do hg update -r ${revision}
accordingly.

There was some hope that a newish "module" feature in mercurial would
make this obsolete, but it didn't quite seem to work, yet.

Ian




More information about the devel mailing list