[Buildbot-devel] [PATCH] SVN branches
Chris H
apchsf at yahoo.com
Tue Aug 22 19:50:33 UTC 2006
This patch includes three changes to the SVN build
step
1) Allow the user to specify a sub-directory of a
branch. Previously when using branches there was no
way to checkout a sub-directory of the branch.
2) Add peg revision to svnurl. see
http://svnbook.red-bean.com/nightly/en/svn.advanced.pegrevs.html
3) Show the branch name instead of just "[branch]"
in the status description of the step
Regards,
Chris
===================================================================
RCS file:
/cvsroot/buildbot/buildbot/buildbot/process/step.py,v
retrieving revision 1.99
diff -u -r1.99 step.py
--- buildbot/process/step.py 21 Aug 2006 00:43:20
-0000 1.99
+++ buildbot/process/step.py 22 Aug 2006 18:56:49
-0000
@@ -1618,7 +1618,7 @@
name = 'svn'
def __init__(self, svnurl=None, baseURL=None,
defaultBranch=None,
- directory=None, **kwargs):
+ directory=None, svndir=None,
**kwargs):
"""
@type svnurl: string
@param svnurl: the URL which points to the
Subversion server,
@@ -1639,6 +1639,13 @@
explicitly. It will
simply be appended
to C{baseURL} and the
result handed to
the SVN command.
+
+ @param svndir: if branches are enabled, this
is the directory
+ to append to the URL after
C{baseURL} and the branch
+ have been appended. You can
use this to check out a
+ subdirectory of the
repository. It should start with
+ a slash.
+
"""
if not kwargs.has_key('workdir') and
directory is not None:
@@ -1650,6 +1657,8 @@
self.svnurl = svnurl
self.baseURL = baseURL
self.branch = defaultBranch
+ self.svndir = svndir
+
Source.__init__(self, **kwargs)
@@ -1719,12 +1728,19 @@
self.args['svnurl'] = self.svnurl
else:
self.args['svnurl'] = self.baseURL +
branch
+ if self.svndir is not None:
+ self.args['svnurl'] =
self.args['svnurl'] + self.svndir
+
+ if revision is not None and revision !=
"HEAD":
+ self.args['svnurl'] = self.args['svnurl']
+ "@" + revision
+
+
self.args['revision'] = revision
self.args['patch'] = patch
revstuff = []
if branch is not None and branch !=
self.branch:
- revstuff.append("[branch]")
+ revstuff.append("[%s]" % branch)
if revision is not None:
revstuff.append("r%s" % revision)
self.description.extend(revstuff)
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the devel
mailing list