On 27/09/16 09:39, Ryan Schmidt wrote:
> I'm not familiar enough with Buildbot to be able to suggest a specific way to 
> accomplish the switch. But I know Subversion very well, and that "svn switch" 
> is the intended solution to the problem of wanting to work on different 
> branches while only keeping a single working copy on disk.
> 
> This may create some additional complications. Depending on how your branches 
> differ from one another, there might be situations where switching from one 
> branch to another does not leave your working copy in a clean state. Make 
> sure you check the status code of "svn switch" to ensure it didn't have an 
> error, and I'd probably also run "svn status --ignore-externals" on the 
> working copy afterward, to make sure there are no modified or unversioned 
> files present before building.
> 

Thanks, it seems I have hit a common problem:
http://trac.buildbot.net/ticket/97

Funny thing though is that if I do (consider gcc as the project in
question - good example as repo is massive!):
c['change_source'].append(SVNPoller(
    svnurl = 'svn://gcc.gnu.org/svn/gcc',
    project='gcc',
    pollAtLaunch = True,
    split_file = util.svn.split_file_branches,
    pollinterval = 60 * 3))

class CloneOrUpdateGCCRepo (SVN):

    name = "update gcc repo"
    description = r"fetching GCC sources"
    descriptionDone = r"fetched GCC sources"
    def __init__ (self):
        SVN.__init__ (self,
                      repourl = 'svn://gcc.gnu.org/svn/gcc/',
                      workdir = WithProperties (r"%s/../gcc/", r'builddir'),
                      mode = r'incremental', method='fresh')
        self.haltOnFailure = True

...

self.addStep (CloneOrUpdateGCCRepo ())


This does not actually checkout the right branch. I was expecting trunk
or branches/gcc-4_9-release to be checked out, since I have a special
AnyBranchScheduler with a custom branch_fn function but instead the
whole of svn://gcc.gnu.org/svn/gcc/ is checked out every time.

-- 
Paulo Matos
_______________________________________________
users mailing list
[email protected]
https://lists.buildbot.net/mailman/listinfo/users

Reply via email to