Skip to content

Commit

Permalink
fix for mergeRequests just on builders, still has debug code, doesn't…
Browse files Browse the repository at this point in the history
… address global mergeRequests
  • Loading branch information
bdbaddog committed Jun 22, 2011
1 parent 269762e commit 6ebcfa9
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 1 deletion.
3 changes: 2 additions & 1 deletion master/buildbot/config.py
Expand Up @@ -99,6 +99,7 @@ def __init__(self,
self.env = env
self.properties = properties
self.mergeRequests = mergeRequests
print "DEEGAN: in BuilderConfig __init__ mergeRequests=%s"%self.mergeRequests

def getConfigDict(self):
rv = {
Expand All @@ -120,6 +121,6 @@ def getConfigDict(self):
rv['env'] = self.env
if self.properties:
rv['properties'] = self.properties
if self.mergeRequests:
if self.mergeRequests is not None:
rv['mergeRequests'] = self.mergeRequests
return rv
1 change: 1 addition & 0 deletions master/buildbot/master.py
Expand Up @@ -700,6 +700,7 @@ def loadConfig_Builders(self, newBuilderData):
log.msg("adding new builder %s for category %s" %
(name, category))
statusbag = self.status.builderAdded(name, basedir, category)
print "DEEGAN:Buildmaster:loadConfig_Builders: data:%s"%data
builder = Builder(data, statusbag)
allBuilders[name] = builder
somethingChanged = True
Expand Down
20 changes: 20 additions & 0 deletions master/buildbot/process/builder.py
Expand Up @@ -105,6 +105,14 @@ def __init__(self, setup, builder_status):
self.buildHorizon = setup.get('buildHorizon')
self.logHorizon = setup.get('logHorizon')
self.eventHorizon = setup.get('eventHorizon')


import traceback
print "DEEGAN: stack trace"
for t in traceback.extract_stack():
print "DEEGAN:%s %s %s %s"%t

print "DEEGAN: builder __init__: mergeRequests:%s"%setup.get('mergeRequests','zebras')
self.mergeRequests = setup.get('mergeRequests', True)
self.properties = setup.get('properties', {})
self.category = setup.get('category', None)
Expand Down Expand Up @@ -606,6 +614,8 @@ def setExpectations(self, progress):

@defer.deferredGenerator
def maybeStartBuild(self):
print "DEEGAN: in maybeStartBuild()"

# This method is called by the botmaster whenever this builder should
# check for and potentially start new builds. Do not call this method
# directly - use master.botmaster.maybeStartBuildsForBuilder, or one
Expand Down Expand Up @@ -770,6 +780,12 @@ def _getMergeRequestsFn(self):
"""Helper function to determine which mergeRequests function to use
from L{_mergeRequests}, or None for no merging"""
# first, seek through builder, global, and the default
print "DEEGAN: _getMergeRequestsFn : self.mergeRequests:%s"%self.mergeRequests
try:
print "DEEGAN: _getMergeRequestsFn : self.master.mergeRequests:%s"%self.master.mergeRequests
except AttributeError,e:
print "DEEGAN: _getMergeRequestsFn : no self.master.mergeRequests defined"

mergeRequests_fn = self.mergeRequests
if mergeRequests_fn is None:
mergeRequests_fn = self.master.mergeRequests
Expand All @@ -782,12 +798,16 @@ def _getMergeRequestsFn(self):
elif mergeRequests_fn is True:
mergeRequests_fn = buildrequest.BuildRequest.canBeMergedWith

print "DEEGAN: _getMergeRequestsFn: returning:%s"%mergeRequests_fn
return mergeRequests_fn

@defer.deferredGenerator
def _mergeRequests(self, breq, unclaimed_requests, mergeRequests_fn):
"""Use C{mergeRequests_fn} to merge C{breq} against
C{unclaimed_requests}, where both are build request dictionaries"""

print "DEEGAN: in _mergeRequests"

# short circuit if there is no merging to do
if not mergeRequests_fn or len(unclaimed_requests) == 1:
yield [ breq ]
Expand Down

0 comments on commit 6ebcfa9

Please sign in to comment.