[Buildbot-devel] CVS source: checking out multiple modules does notwork

Cavanagh, Sean (Sean) scavanagh at avaya.com
Mon Jul 16 17:21:36 UTC 2007


I struggled with something similar, and I've wound up using CVS modules
for everything.  Which actually turned into a beneficial practice in the
end, since I can now easily communicate the same module groups to my
design team.

"Did you tag TAG_MODULES? No? <yoda>This is why you fail...</yoda>"

Sean C.


-----Original Message-----
From: buildbot-devel-bounces at lists.sourceforge.net
[mailto:buildbot-devel-bounces at lists.sourceforge.net] On Behalf Of Greg
Ward
Sent: Monday, July 16, 2007 12:16 PM
To: buildbot-devel at lists.sourceforge.net
Subject: [Buildbot-devel] CVS source: checking out multiple modules does
notwork

I don't see a ticket in Trac for this, so let me just check that I'm
not missing something really obvious before creating one.
Specifically, trying to do multiple CVS checkouts in a single builder
does not work.  E.g. my master.cfg has this:

for dir in ("dir1", "dir2", "dir3"):
    bf.addStep(source.CVS,
                       name="update:" + dir,
                       mode="update",
                       cvsroot=cvsroot,
                       cvsmodule=dir)

which causes buildbot to run

  cvs -d ... -z3 checkout -d build -r HEAD dir1
  cvs -d ... -z3 checkout -d build -r HEAD dir2
  cvs -d ... -z3 checkout -d build -r HEAD dir3

on the slave.  I'm a little confused about what happens next, but the
end result is that the 'build' directory contains just the contents of
'dir3' -- it seems that each checkout clobbers the results of the
previous checkout.

(The reason I'm confused is that when I run the above commands
manually, cvs sensibly notices the conflict and refuses to let me
checkout dir2 on top of dir1.  I don't know what buildbot is doing
differently, but when it runs those commands, the dir2 checkout
clobbers the previous one.)

It turns out that a fix would be pretty easy: just get buildbot to run
these commands instead:

  cvs -d ... -z3 checkout -d build/dir1 -r HEAD dir1
  cvs -d ... -z3 checkout -d build/dir2 -r HEAD dir2
  cvs -d ... -z3 checkout -d build/dir3 -r HEAD dir3

This works fine when I do it manually, and gives me the expected
structure: build/dir1 contains dir1 contents, etc.  But I cannot
figure out how to customize the "-d" option that buildbot generates.
Any clues?

Thanks --

Greg

------------------------------------------------------------------------
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Buildbot-devel mailing list
Buildbot-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/buildbot-devel




More information about the devel mailing list