Search code examples
pythonsvnbuildbot

Buildbot svn checkout inside another svn


I have a software developed under svn that is actually dependent on another software independently developed under svn as well.

I would like to use buildbot to check my code. The problem I have is that I need to first checkout the first code using svn and then go inside the code and do another svn checkout of my code.

My buildbot builder looks like that

Step_checkout_qe =  [SVN(
                    name = "checkout_proj1",timeout=1200,
                    svnurl=project1_url, 
                    mode="update",
                    workdir="PROJ1",
                    username=XXX,
                    password=YYY,
                    haltOnFailure=True, description=["checkout_proj1"]
                )]
Step_checkout =  [SVN(
                    name = "checkout_proj2",timeout=1200,
                    svnurl=project2_url, 
                    mode="clobber",
                    keep_on_purge="PROJ1",
                    workdir="PROJ1/",
                    username=XXX,
                    password=YYY,
                    haltOnFailure=True, description=["checkout_proj2"]
                )]

Everything is fine for the fist one. The problem is then the second checkout is done and I'm getting

/usr/bin/svn checkout --non-interactive --no-auth-cache --username XXX --password YYY --revision 11000 roject2_url@11000 PROJ1

The thing is that the revision 11000 is the one from the first project. It seems like svn take the env of the first project. I therefore get the error

svn: E175002: Unexpected HTTP status 500 'Internal Server Error' on '/svn/epw/!svn/vcc/default'

svn: E160006: Additional errors:
svn: E160006: No such revision 11000

How to clean the svn history inside the first project to start the second project fresh inside ?

The second project needs to be inside as it uses routine from the first project.

Thank you,

Samuel


Solution

  • clear out the got_revision property between the two checkouts

    e.g.:

    f.addStep(steps.SetProperty(property="got_revision", value=None))