Skip to content

Commit

Permalink
Fixing a problem with forced commits
Browse files Browse the repository at this point in the history
Forced builds have no changes, and because of that the last changes to the console broke it.
This commit should fix it, by using the build's data instead of a change in it in the worst-case scenario.
  • Loading branch information
abyx committed Jan 6, 2010
1 parent 96ff1ff commit d0e3b07
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion buildbot/status/web/console.py
Expand Up @@ -328,14 +328,37 @@ def getBuildsForRevision(self, request, builder, builderName, lastRevision,
builds.append(devBuild)

# Now break if we have enough builds.
current_revision = self.getChangeForBuild(
builder.getBuild(-1), revision)
if self.comparator.isRevisionEarlier(
devBuild, builder.getBuild(-1).getChanges()[-1]):
devBuild, current_revision):
break

build = build.getPreviousBuild()

return builds

def getChangeForBuild(self, build, revision):
if not build.getChanges(): # Forced build
devBuild = DevBuild(revision, build.getResults(),
build.getNumber(),
build.isFinished(),
build.getText(),
build.getETA(),
None,
build.getTimes()[0])

return devBuild

for change in build.getChanges():
if change.revision == revision:
return change

# No matching change, return the last change in build
changes = build.getChanges()[:]
changes.sort(key=self.comparator.getSortingKey())
return changes[-1]

def getAllBuildsForRevision(self, status, request, lastRevision, numBuilds,
categories, builders, debugInfo):
"""Returns a dictionnary of builds we need to inspect to be able to
Expand Down

0 comments on commit d0e3b07

Please sign in to comment.