[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
like
quux/foo/_darcs
quux/bar/_darcs
Except each of our projects also has several branches. Call them
"devel" and "stable". So we really have
quux/devel/foo/_darcs
quux/devel/bar/_darcs
quux/stable/foo/_darcs
quux/stable/bar/_darcs
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
used.
>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