Using Git.init().setDirectory().call() to obtain a Git instance from a File is awkward at best.

I think we should do:

  public static Git open(File path) {
    return Git.init().setDirectory(path).call();
  }

  public static Git wrap(Repository repo) {
    return new Git(repo);
  }

in this class.