[Buildbot-commits] buildbot/buildbot/changes p4poller.py,1.4,1.5
Brian Warner
warner at users.sourceforge.net
Fri Apr 7 04:14:59 UTC 2006
Update of /cvsroot/buildbot/buildbot/buildbot/changes
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30329/buildbot/changes
Modified Files:
p4poller.py
Log Message:
Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-483
Creator: Brian Warner <warner at lothar.com>
SF#1219384: add arguments to p4poller/P4Sync
* buildbot/changes/p4poller.py (P4Source): add new arguments:
password, p4 binary, pollinterval, maximum history to check.
Patch from an anonymous sf.net contributor, SF#1219384.
* buildbot/process/step.py (P4Sync.__init__): add username,
password, and client arguments.
* buildbot/slave/commands.py (P4Sync): same
Index: p4poller.py
===================================================================
RCS file: /cvsroot/buildbot/buildbot/buildbot/changes/p4poller.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- p4poller.py 17 May 2005 10:14:09 -0000 1.4
+++ p4poller.py 7 Apr 2006 04:14:57 -0000 1.5
@@ -13,7 +13,7 @@
"""This source will poll a perforce repository for changes and submit
them to the change master."""
- compare_attrs = ["p4port", "p4user", "p4client", "p4base",
+ compare_attrs = ["p4port", "p4user", "p4passwd", "p4client", "p4base",
"p4bin", "pollinterval", "histmax"]
parent = None # filled in when we're added
@@ -21,13 +21,16 @@
loop = None
volatile = ['loop']
- def __init__(self, p4port, p4user, p4client, p4base,
- p4bin='p4', pollinterval=60 * 10, histmax=100):
+ def __init__(self, p4port, p4user, p4passwd=None, p4client=None,
+ p4base='//...', p4bin='p4',
+ pollinterval=60 * 10, histmax=100):
"""
@type p4port: string
@param p4port: p4 port definition (host:portno)
@type p4user: string
@param p4user: p4 user
+ @type p4passwd: string
+ @param p4passwd: p4 passwd
@type p4client: string
@param p4client: name of p4 client to poll
@type p4base: string
@@ -43,6 +46,7 @@
self.p4port = p4port
self.p4user = p4user
+ self.p4passwd = p4passwd
self.p4client = p4client
self.p4base = p4base
self.p4bin = p4bin
@@ -59,7 +63,7 @@
return base.ChangeSource.stopService(self)
def describe(self):
- return "p4source %s:%s %s" % (self.p4port, self.p4client, self.p4base)
+ return "p4source %s-%s %s" % (self.p4port, self.p4client, self.p4base)
def checkp4(self):
d = self._get_changes()
@@ -67,10 +71,17 @@
d.addCallback(self._handle_changes)
def _get_changes(self):
- args = ['changes', '-m', str(self.histmax), self.p4base]
- env = {'P4PORT' : self.p4port,
- 'P4USER' : self.p4user,
- 'P4CLIENT' : self.p4client}
+ args = []
+ if self.p4port:
+ args.extend(['-p', self.p4port])
+ if self.p4user:
+ args.extend(['-u', self.p4user])
+ if self.p4passwd:
+ args.extend(['-P', self.p4passwd])
+ if self.p4client:
+ args.extend(['-c', self.p4client])
+ args.extend(['changes', '-m', str(self.histmax), self.p4base])
+ env = {}
return getProcessOutput(self.p4bin, args, env)
def _process_changes(self, result):
@@ -91,9 +102,17 @@
return defer.DeferredList(ds)
def _get_change(self, change):
- args = ['describe', '-s', change['num']]
- env = {'P4PORT' : self.p4port,
- 'P4CLIENT' : self.p4client}
+ args = []
+ if self.p4port:
+ args.extend(['-p', self.p4port])
+ if self.p4user:
+ args.extend(['-u', self.p4user])
+ if self.p4passwd:
+ args.extend(['-P', self.p4passwd])
+ if self.p4client:
+ args.extend(['-c', self.p4client])
+ args.extend(['describe', '-s', change['num']])
+ env = {}
d = getProcessOutput(self.p4bin, args, env)
d.addCallback(self._process_change, change)
return d
More information about the Commits
mailing list