anchor.diff:  
     String get _workingDir => _path.toString();
   
  +  static Future<bool> isGitDir(String path) {
  +    final dir = new Directory(path);
  +    return dir.exists()
  +        .then((bool exists) {
  +          if(exists) {
  +            return _isGitDir(dir);
  +          } else {
  +            return false;
  +          }
  +        });
  +  }
  +
     /**
      * [allowContent] if true, doesn't check to see if the directory is empty
  -   * init will still succeed, even if the directory already has a git repository.
  +   *
  +   * Will fail if the source is a git directory (either at the root or a sub directory)
      */
     static Future<GitDir> init(Directory source, {bool allowContent: false}) {
       assert(source.existsSync());
  
positive.code:   }
  
    static Future<GitDir> _init(Directory source) {
      return Git.runGit(['init', source.path])
          .then((ProcessResult pr) {
            return new GitDir(source.path);
          });
    }
  }
  
negative.code: part of bot_git;
  
  class GitDir {
    static final RegExp _shaRegExp = new RegExp(r'^[a-f0-9]{40}$');
  