anchor.diff:        negatable: false);
     parser.addOption("preapprove",
         abbr: "p", help: "Preapprove the new failures in a gerrit CL.");
  +  parser.addFlag("successes-only",
  +      help: "Approve successes only.", negatable: false);
     parser.addFlag("verbose",
         abbr: "v", help: "Describe asynchronous operations.", negatable: false);
     parser.addFlag("yes",
  
positive.code: 
  main(List<String> args) async {
    final parser = new ArgParser();
    parser.addMultiOption("bot",
        abbr: "b",
        help: "Select the bots matching the glob pattern [option is repeatable]",
        splitCommas: false);
    parser.addFlag("help", help: "Show the program usage.", negatable: false);
    parser.addFlag("list",
        abbr: "l", help: "List the available bots.", negatable: false);
    parser.addFlag("no",
  
negative.code:       }
        final name = result["name"];
        final test = new Test(bot, name, result, approvedResult, flakiness);
        final dropApproval =
            test.matches ? options["failures-only"] : options["successes-only"];
        if (dropApproval && !test.isApproved) {
          if (approvedResult == null) continue;
          result.clear();
          result.addAll(approvedResult);
        }
        tests.add(test);
      }
      // If preapproving and the CL has introduced new tests, add the new tests
  