| Index: tools/gardening/lib/src/buildbot_loading.dart
 | 
| diff --git a/tools/gardening/lib/src/buildbot_loading.dart b/tools/gardening/lib/src/buildbot_loading.dart
 | 
| index 93bd62cf3110d39a255d952b8434739896dd0d31..b8cc903a97b47120574577a1d369be6b7037dc81 100644
 | 
| --- a/tools/gardening/lib/src/buildbot_loading.dart
 | 
| +++ b/tools/gardening/lib/src/buildbot_loading.dart
 | 
| @@ -11,6 +11,7 @@ import 'cache.dart';
 | 
|  import 'logdog.dart';
 | 
|  
 | 
|  const String BUILDBOT_BUILDNUMBER = ' BUILDBOT_BUILDNUMBER: ';
 | 
| +const String BUILDBOT_REVISION = ' BUILDBOT_REVISION: ';
 | 
|  
 | 
|  /// Read the build result for [buildUri].
 | 
|  ///
 | 
| @@ -78,6 +79,7 @@ TestStatus parseTestStatus(String line) {
 | 
|  BuildResult parseTestStepResult(BuildUri buildUri, String text) {
 | 
|    log('Parsing results: $buildUri (${text.length} bytes)');
 | 
|    int buildNumber;
 | 
| +  String buildRevision;
 | 
|    List<String> currentFailure;
 | 
|    bool parsingTimingBlock = false;
 | 
|  
 | 
| @@ -90,6 +92,9 @@ BuildResult parseTestStepResult(BuildUri buildUri, String text) {
 | 
|            int.parse(line.substring(BUILDBOT_BUILDNUMBER.length).trim());
 | 
|        buildUri = buildUri.withBuildNumber(buildNumber);
 | 
|      }
 | 
| +    if (line.startsWith(BUILDBOT_REVISION)) {
 | 
| +      buildRevision = line.substring(BUILDBOT_REVISION.length).trim();
 | 
| +    }
 | 
|      if (currentFailure != null) {
 | 
|        if (line.startsWith('Done ')) {
 | 
|          TestStatus status = parseTestStatus(line);
 | 
| @@ -121,7 +126,7 @@ BuildResult parseTestStepResult(BuildUri buildUri, String text) {
 | 
|      }
 | 
|    }
 | 
|    return new BuildResult(buildUri, buildNumber ?? buildUri.absoluteBuildNumber,
 | 
| -      results, failures, timings);
 | 
| +      buildRevision, results, failures, timings);
 | 
|  }
 | 
|  
 | 
|  /// Create the [Timing]s for the [line] as found in the top-20 timings of a
 | 
| 
 |