anchor.diff:  
   Future _ensureProperBranch(TaskContext ctx, String gitDir, String workTree,
                              String desiredBranch) {
  -  final args = _getGitArgs(gitDir, workTree);
  -  args.addAll(['rev-parse', '--abbrev-ref', 'HEAD']);
  +  final args = _getGitArgs(gitDir, workTree, ['rev-parse', '--abbrev-ref', 'HEAD']);
   
     return Process.run('git', args)
         .transform((ProcessResult pr) {
  
positive.code:       });
  }
  
  List<String> _getGitArgs(String gitDir, String workTree) =>
      ['--git-dir=$gitDir', '--work-tree=$workTree'];
  
  Future<bool> _cleanUpTemp(String tempDir, bool dartDocSuccess) {
    final dir = new Directory(tempDir);
  
negative.code: 
  Future _checkoutBare(TaskContext ctx, String gitDir, String workTree,
                       String desiredBranch) {
    final args = _getGitArgs(gitDir, workTree, ['checkout', '--orphan', desiredBranch]);
    return Process.run('git', args)
        .chain((ProcessResult pr) {
          _throwIfProcessFailed(ctx, pr);
          final args = _getGitArgs(gitDir, workTree, ['rm', '-rf', '.']);
          return Process.run('git', args);
        })
        .transform((ProcessResult pr) {
  