anchor.diff:  // TODO: add post-build options to pretty-up the docs
   
   const _allowDirtyArg = 'allow-dirty';
  +const _targetBranchArg = 'target-branch';
   
   /**
    * [targetBranch] the Git branch that will contain the generated docs. If the
  
positive.code:       });
  }
  
  void _dartDocParserConfig(ArgParser parser) {
    parser.addFlag(_allowDirtyArg, abbr: 'd', help: 'Allow a dirty tree to run', defaultsTo: false);
  }
  
  Future<String> _getCommitMessageFuture(GitDir gitDir, bool isClean) {
  
negative.code:   String packageDir: 'packages/',
    Iterable<String> excludeLibs,
    bool linkApi: false}) {
    requireArgumentNotNull(targetBranch, 'targetBranch');
    requireArgumentNotNull(packageDir, 'packageDir');
  
    return new Task.async((ctx) {
      targetBranch = ctx.arguments[_targetBranchArg];
  
      return _compileDocs(ctx, targetBranch, delayedLibraryList, packageDir,
          excludeLibs, linkApi);
    },
    description: 'Generate documentation for the provided libraries.',
    config: (parser) => _dartDocParserConfig(parser, targetBranch));
  }
  
  /**
  