[Checkins] SVN: gocept.bsquare/branches/adamg-bpf-layout/ trying to add BRANCHNAME/PROJECT/FILEPATH repositories
Adam Groszer
agroszer at gmail.com
Wed Sep 2 10:17:30 EDT 2009
Log message for revision 103484:
trying to add BRANCHNAME/PROJECT/FILEPATH repositories
Changed:
U gocept.bsquare/branches/adamg-bpf-layout/src/gocept/bsquare/master.py
U gocept.bsquare/branches/adamg-bpf-layout/update-config.py
-=-
Modified: gocept.bsquare/branches/adamg-bpf-layout/src/gocept/bsquare/master.py
===================================================================
--- gocept.bsquare/branches/adamg-bpf-layout/src/gocept/bsquare/master.py 2009-09-02 14:13:51 UTC (rev 103483)
+++ gocept.bsquare/branches/adamg-bpf-layout/src/gocept/bsquare/master.py 2009-09-02 14:17:30 UTC (rev 103484)
@@ -20,7 +20,8 @@
is_win32 = sys.platform == 'win32'
-def split_file(path):
+def split_file_pbf(path):
+ #PROJECT/BRANCHNAME/FILEPATH repositories
pieces = path.split("/")
if len(pieces) < 2:
return None
@@ -30,9 +31,37 @@
return ("%s/%s" % (project, branch), "/".join(pieces[2:]))
+def split_file_bpf(path):
+ #BRANCHNAME/PROJECT/FILEPATH repositories
+ pieces = path.split("/")
+ if len(pieces) < 2:
+ return None
+ project, branch = pieces[1], pieces[0]
+ if branch != "trunk":
+ return None
+ return ("%s/%s" % (project, branch), "/".join(pieces[2:]))
+
+def split_file_i(path):
+ #intelligent
+ log.msg("split_file_i: %s" % path)
+ pieces = path.split("/")
+ if len(pieces) < 2:
+ return None
+ project, branch = pieces[0], pieces[1]
+ #if project in ('trunk','branches','tags'):
+ #this is a BPF
+ #project, branch = branch, project
+ #if branch != "trunk":
+ #return None
+ rv = ("%s/%s" % (project, branch), "/".join(pieces[2:]))
+ log.msg("split_file_i: %s" % repr(rv))
+ return rv
+
+
def make_factory(svn_url, passOnNoTest=True):
f = BuildFactory()
- f.addStep(SVN(baseURL=svn_url, mode='clobber'))
+ log.msg("make_factory svn_url: %s" % svn_url)
+ f.addStep(SVN(baseURL=svn_url, mode='clobber',defaultBranch=''))
f.addStep(Compile(name='bootstrap',
command='buildout bootstrap .',
description=['bootstrapping'],
@@ -109,7 +138,7 @@
c['slavePortnum'] = 8989
if poller is None:
c['change_source'] = SVNPoller(svn_url,
- split_file=split_file,
+ split_file=split_file_i,
svnuser=svnuser,
svnpasswd=svnpasswd,
pollinterval=pollinterval,
@@ -125,6 +154,15 @@
projects = [x.strip() for x in projects]
for project in projects:
+ realsvn_url = svn_url
+ if '/' in project:
+ parts = project.split('/')
+ realsvn_url = svn_url+project+'/'
+ project = parts[-1]
+ branch = "trunk/%s" % project
+ else:
+ branch = "%s/trunk" % project
+
if isinstance(make_factory, dict):
f = makefactory.get(project,
makefactory.get('__default__', make_factory))
@@ -141,11 +179,11 @@
del f
c['schedulers'].append(Scheduler(
- project, "%s/trunk" % project, pollinterval+10, [project]))
+ project, branch, pollinterval+10, [project]))
if nightlyhour is not None:
c['schedulers'].append(Nightly(
"%s nightly" % project, [project], hour=[nightlyhour],
- branch="%s/trunk" % project))
+ branch=branch))
# Status display(s)
c['status'] = []
Modified: gocept.bsquare/branches/adamg-bpf-layout/update-config.py
===================================================================
--- gocept.bsquare/branches/adamg-bpf-layout/update-config.py 2009-09-02 14:13:51 UTC (rev 103483)
+++ gocept.bsquare/branches/adamg-bpf-layout/update-config.py 2009-09-02 14:17:30 UTC (rev 103484)
@@ -21,16 +21,14 @@
import subprocess
SVNBIN = 'svn'
-#SSL certificate you still need to accept by 'hand'
#usually authentication will be cached by svn, in case not fill in below
-SVNUSER = ''
-SVNPASS = ''
+SVNUSER = 'buildbot'
+SVNPASS = 'tHe6a9Uq'
is_win32 = sys.platform == 'win32'
def system(command, input=''):
- #enable for debugging
- #print command
+ print command
p = subprocess.Popen(command,
shell=True,
@@ -75,7 +73,7 @@
else:
svnpass = ''
- return system("svn ls --non-interactive %s%s%s" % (url, svnuser, svnpass))
+ return system("svn --non-interactive ls %s%s%s" % (url, svnuser, svnpass))
def main():
if len(sys.argv) < 3:
@@ -84,6 +82,8 @@
home = sys.argv[1]
base = sys.argv[2]
+ if not base.endswith('/'):
+ base += '/'
projects = svnls(base)
cleaned = []
@@ -91,8 +91,21 @@
if project.endswith('/'):
project = project[:-1]
+ if project == 'trunk':
+ subprojects = svnls(base+'trunk')
+ for subproject in subprojects.splitlines():
+ if subproject.endswith('/'):
+ subproject = subproject[:-1]
+
+ try:
+ svnls("%strunk/%s/buildout.cfg" % (base, subproject))
+ cleaned.append("trunk/"+subproject)
+ except OSError:
+ pass
+
+
try:
- svnls("%s/%s/trunk/buildout.cfg" % (base, project))
+ svnls("%s%s/trunk/buildout.cfg" % (base, project))
cleaned.append(project)
except OSError:
pass
More information about the checkins
mailing list