I have multiple git repositories to have some interdependencies between them. I need to check all of them out when doing a full system build.
With buildbot, I can use the mode='clobber' parameter to the Git source class constructor, but this causes all of the repositories to be checked out each time:
factory.addStep(Git(repourl='ssh://build@build/repo1', mode='clobber', workdir='build/repo1'))
factory.addStep(Git(repourl='ssh://build@build/repo2', mode='clobber', workdir='build/repo2'))
factory.addStep(Git(repourl='ssh://build@build/repo3', mode='clobber', workdir='build/repo3'))
I would like to use mode='copy', but when I do that, the source for all three repositories gets checked out in the same location, eg. .../source/ rather than .../source/repo1 .../source/repo2 .../source/repo3
Is there a way to indicate to buildbot to keep clean copies of each repository separately?
Thanks in advance!
With buildbot 0.8.5 and above, you can use the new master-side source steps (which live at
buildbot.steps.source.git.Gitinstead ofbuilbot.steps.source.Git) and thenGit(..., mode='full', ...)will do a checkout plusgit clean -xfd.Also, there is work under way to properly support for using code for multiple sources, that will be included in buildbot 0.8.7, when it is released.