[Buildbot-devel] our multiple-darcs-repository use case

Kevin Turner acapnotic at twistedmatrix.com
Sat Dec 24 06:33:26 UTC 2005

A little about our setup here, just to add to the use case files:

We use darcs with several developers pushing to a central repository.

Each of our projects has multiple darcs repositories.  It's sort of like
having Twisted and TwistedWeb: you want to be able to get one repository
without the other, but the project as a whole really needs both, and
changes to one potentially effect the stability of the other.

So our "quux" project, which contains components "foo" and "bar", looks


Except each of our projects also has several branches.  Call them
"devel" and "stable".  So we really have


At the moment our change reporter (called by the posthook option of
darcs apply) is just doing 'buildbot sendchange' with a dummy commit
message and file list.  Hopefully future versions of darcs will be more
informative in the posthook and we can write a real one.

I've configured things so that the branch option to sendchange is
something like "devel/foo", which works with the baseURL option of
step.Darcs.  I'm left with a feeling that I might be abusing buildbot's
branch feature, but I'm not sure I understand how that is meant to be

>From a user interface perspective, I want each branch to have its own
indicator.  This translates to having a one-to-many relationship between
branches and c['builders']; having one builder that potentially runs
several branches seems pretty weird.

I've got more-or-less duplicate builder definitions (same factory, same
steps, same slaves) for my normal Scheduler and my Try scheduler for
this reason; having the Try builds turn the other ones red was bad.

(by the way, Schedulers want to know about Categories.)

the bad thing about the way I am using "branch" now is that I don't good
defaults set, so if you don't type the right thing into the "branch" box
of the "force build" option, bad things happen.  I will be looking for
ways to hack up a Factory to set the default branch.

at some point, I will also need to get  quux/devel/foo in the PYTHONPATH
for when the quux/devel/bar tests run.

::end of brain dump::

Merry merry,

 - Kevin

The moon is last quarter, 48.8% illuminated, 22.3 days old.

More information about the devel mailing list