anchor.diff:    return Future.wait(waitOn);
   }
   
  -Future writeHomebrewInfo(String channel, int revision) async {
  +Future writeHomebrewInfo(String channel, String revision) async {
     var revisions = {};
     var hashes = {};
   
  
positive.code:   }
  }
  
  Future<String> getVersion(String channel, int revision) async {
    var client = new http.Client();
    try {
      var api = new storage.StorageApi(client);
  
negative.code:   var lines = await (new File('$repository/dart.rb')).readAsLines();
  
    for (var channel in CHANNELS) {
      /// This RegExp between release/ and /sdk matches
      /// * 1 digit followed by
      /// * Any number of letters, numbers, dashes and dots
      /// This covers both numeric- and version-formatted revisions
      ///
      /// Note: all of the regexp escape slashes `\` are double-escaped within the
      /// Dart string
      final regExp =
          new RegExp('channels/$channel/release/(\\d[\\w\\d\\-\\.]*)/sdk');
  
      revisions[channel] =
          regExp.firstMatch(lines.firstWhere(regExp.hasMatch)).group(1);
    }
  