anchor.diff:  }
   
   Future _doCommitComplex(TaskContext ctx, TempDir workTree, TempDir gitDir,
  -                        String commitMessage) {
  +                        String commitMessage, String targetBranch) {
     requireArgumentNotNullOrEmpty(commitMessage, 'commitMessage');
   
     final args = _getGitArgs(gitDir, workTree, ['add', '--all']);
  
positive.code:           }
          }
          _throwIfProcessFailed(ctx, pr);
          return null;
        });
  }
  
  Future _doPush(TaskContext ctx, TempDir workTree, TempDir gitDir, String branchName) {
    final args = _getGitArgs(gitDir, workTree, ['push', 'origin', branchName]);
    return Process.run('git', args)
        .then((ProcessResult pr) {
          _throwIfProcessFailed(ctx, pr);
          return null;
  
negative.code:         // yeah, silly. ctx.fail should blow up. Should not get heer
          assert(dartDocSuccess);
  
          return _doCommitComplex(ctx, outputDir, gitDir, commitMessage, targetBranch);
        })
        .then((_) {
          return true;
        }).whenComplete(() {
  