Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- C:/Python27/Lib/site-packages/buildbot/steps/source/svn.original.py Mon Sep 19 11:31:27 2011
- +++ C:/Python27/Lib/site-packages/buildbot/steps/source/svn.py Wed Sep 21 15:51:27 2011
- @@ -34,13 +34,14 @@
- def __init__(self, svnurl=None, baseURL=None, mode='incremental',
- method=None, defaultBranch=None, username=None,
- password=None, extra_args=None, keep_on_purge=None,
- - depth=None, **kwargs):
- + depth=None, outputdir='.', **kwargs):
- self.svnurl = svnurl
- self.baseURL = baseURL
- self.branch = defaultBranch
- self.username = username
- self.password = password
- + self.outputdir = outputdir
- self.extra_args = extra_args
- self.keep_on_purge = keep_on_purge or []
- self.depth = depth
- @@ -52,6 +53,7 @@
- mode=mode,
- method=method,
- defaultBranch=defaultBranch,
- + outputdir=outputdir,
- password=password,
- username=username,
- extra_args=extra_args,
- @@ -108,7 +110,7 @@
- yield wfd
- updatable = wfd.getResult()
- if not updatable:
- - d = self._dovccmd(['checkout', self.svnurl, '.'])
- + d = self._dovccmd(['checkout', self.svnurl, self.outputdir])
- elif self.method == 'clean':
- d = self.clean()
- elif self.method == 'fresh':
- @@ -122,9 +124,9 @@
- d = self._sourcedirIsUpdatable()
- def _cmd(updatable):
- if updatable:
- - command = ['update']
- + command = ['update', self.outputdir]
- else:
- - command = ['checkout', self.svnurl, '.']
- + command = ['checkout', self.svnurl, self.outputdir]
- if self.revision:
- command.extend(['--revision', str(self.revision)])
- return command
- @@ -135,8 +137,12 @@
- @defer.deferredGenerator
- def clobber(self):
- - cmd = buildstep.LoggedRemoteCommand('rmdir', {'dir': self.workdir,
- + if not self.outputdir or self.outputdir == '.':
- + cmd = buildstep.LoggedRemoteCommand('rmdir', {'dir': self.workdir,
- 'logEnviron': self.logEnviron,})
- + else:
- + cmd = buildstep.LoggedRemoteCommand('rmdir', {'dir': self.workdir + '/' + self.outputdir,
- + 'logEnviron': self.logEnviron,})
- cmd.useLog(self.stdio_log, False)
- wfd = defer.waitForDeferred(
- self.runCommand(cmd))
- @@ -146,24 +152,28 @@
- raise buildstep.BuildStepFailed()
- wfd = defer.waitForDeferred(
- - self._dovccmd(['checkout', self.svnurl, '.']))
- + self._dovccmd(['checkout', self.svnurl, self.outputdir]))
- yield wfd
- wfd.getResult()
- def fresh(self):
- d = self.purge(True)
- - d.addCallback(lambda _: self._dovccmd(['update']))
- + d.addCallback(lambda _: self._dovccmd(['update', self.outputdir]))
- return d
- def clean(self):
- d = self.purge(False)
- - d.addCallback(lambda _: self._dovccmd(['update']))
- + d.addCallback(lambda _: self._dovccmd(['update', self.outputdir]))
- return d
- @defer.deferredGenerator
- def copy(self):
- - cmd = buildstep.LoggedRemoteCommand('rmdir', {'dir': self.workdir,
- + if not self.outputdir or self.outputdir == '.':
- + cmd = buildstep.LoggedRemoteCommand('rmdir', {'dir': self.workdir,
- 'logEnviron': self.logEnviron,})
- + else:
- + cmd = buildstep.LoggedRemoteCommand('rmdir', {'dir': self.workdir + '/' + self.outputdir,
- + 'logEnviron': self.logEnviron,})
- cmd.useLog(self.stdio_log, False)
- wfd = defer.waitForDeferred(
- self.runCommand(cmd))
- @@ -264,7 +274,7 @@
- return 'fresh'
- def _sourcedirIsUpdatable(self):
- - cmd = buildstep.LoggedRemoteCommand('stat', {'file': self.workdir + '/.svn',
- + cmd = buildstep.LoggedRemoteCommand('stat', {'file': self.workdir + '/' + self.outputdir +'/.svn',
- 'logEnviron': self.logEnviron,})
- cmd.useLog(self.stdio_log, False)
- d = self.runCommand(cmd)
- @@ -276,7 +286,7 @@
- return d
- def parseGotRevision(self, _):
- - cmd = buildstep.RemoteShellCommand(self.workdir, ['svnversion'],
- + cmd = buildstep.RemoteShellCommand(self.workdir + '/' + self.outputdir, ['svnversion'],
- env=self.env,
- logEnviron=self.logEnviron,
- collectStdout=True)
Advertisement
Add Comment
Please, Sign In to add comment