GitCompoundResult (@NotNull Collection<? extends GitRepository> repositories) { LOG.info("Starting smart rollback..."); final GitCompoundResult result = new GitCompoundResult(myProject); Collection<VirtualFile> roots = GitUtil.getRootsFromRepositories(repositories); GitSaveChangesPolicy saveMethod = GitVcsSettings.getInstance(myProject).getSaveChangesPolicy(); GitPreservingProcess preservingProcess = new GitPreservingProcess(myProject, myGit, roots, GitBundle.message("merge.operation.name"), myBranchToMerge, saveMethod, getIndicator(), () -> { for (GitRepository repository : repositories) result.append(repository, rollback(repository)); }); preservingProcess.execute(); LOG.info("Smart rollback completed."); return result; }