GitUpdateResult (@NotNull Collection<? extends GitRepository> rootsToUpdate, @NotNull UpdateMethod updateMethod, boolean checkForRebaseOverMergeProblem) { GitUpdateProcess updateProcess = new GitUpdateProcess(myProject, myProgressIndicator, new HashSet<>(rootsToUpdate), UpdatedFiles.create(), null, checkForRebaseOverMergeProblem, false); GitUpdateResult updateResult = updateProcess.update(updateMethod); Map<GitRepository, HashRange> ranges = updateProcess.getUpdatedRanges(); if (ranges != null) { // normally shouldn't happen, because it means that update didn't even start, e.g. in the NOT_READY situation joinUpdatedRanges(ranges); } for (GitRepository repository : rootsToUpdate) { repository.getRoot().refresh(true, true); repository.update(); } return updateResult; }