[Buildbot-devel] configuration help

Stefan Seefeld seefeld at sympatico.ca
Thu Nov 24 23:28:42 UTC 2005

Brian Warner wrote:

> Ah, you're missing some code that I haven't written yet :).


> PBChangeSource receives complete Changes from whatever is sending to it, in
> this case svn_buildbot.py . (well, actually it receives dictionaries with
> keys like 'comments' and 'revision', but they are effectively complete Change
> instances). So the sender is responsible for deciding which branch the Change
> belongs to.
> svn_buildbot.py needs to be updated to compute a branch, and then add a
> 'branch' key into the dictionary that it feeds to callRemote('addChange').
> When this is not provided, PBChangeSource defaults to a branch of None, which
> means the default branch. If your Scheduler has been configured to pay
> attention only to a specific (non-None) branch, it will ignore these "default
> branch" changes.

I see. As mentioned in a separate reply, I believe it would be most convenient
(for me, at least) to be able to declare the svn repository layout inside
the master.cfg file, as then I wouldn't have to touch svn_buildbot.py at all.

It sounds as if I could somehow derive from PBChangeSource and then determine
the branch during a call to my (redefined) perspective_addChange method.

Does this make sense ?
(I think it would be nice to be able to just provide such a branch-detector
as a callable I can provide to PBChangeSource's constructor.)

> PS: if your scheduler is supposed to be accepting builds on all branches
> (i.e. AnyBranchScheduler(branches=None)), and you're seeing that message
> about "Scheduler 'all' ignoring off-branch" stuff, then there might be a bug.

ah, I didn't know about the branches=None option (is it documented at all ?).
Indeed, I provided an explicit branch list, as suggested by the manual.

> Please let me know if this is the case. If you're using branches=[], that
> means you don't want it to accept *any* branches, which will of course ignore
> everything and never trigger a build. I'm adding a warning message to guard
> against branches=[] now. (although, now that I look at the code, I realize
> that it treates branches=[] as equivalent to branches=None. I'll fix that
> too.)

Cool, thanks ! Don't forget to mention the new option for branches == None
in the manual ! ;-)


More information about the devel mailing list