public static @NotNull Collection<Change> getDiffWithWorkingDir(@NotNull Project project,
                                                                  @NotNull VirtualFile root,
                                                                  @NotNull @NonNls String oldRevision,
                                                                  @Nullable Collection<? extends FilePath> dirtyPaths,
                                                                  boolean reverse,
                                                                  boolean detectRenames) throws VcsException {
    String output = getDiffOutput(project, root, oldRevision, dirtyPaths, reverse, detectRenames);
    Collection<Change> changes = new ArrayList<>();
    final GitRevisionNumber revisionNumber = resolveReference(project, root, oldRevision);
    parseChanges(project, root, reverse ? revisionNumber : null, reverse ? null : revisionNumber, output, changes);
    return changes;
  }
public static @NotNull Collection<Change> getDiffWithWorkingDir(@NotNull Project project,
                                                                  @NotNull VirtualFile root,
                                                                  @NotNull @NonNls String oldRevision,
                                                                  @Nullable Collection<? extends FilePath> dirtyPaths,
                                                                  boolean reverse,
                                                                  boolean detectRenames)