void (@NotNull ProgressIndicator indicator, @NotNull GitRemote parentRemote, @NotNull @NlsSafe String branch) { String onto = parentRemote.getName() + "/" + branch; LOG.info("Rebasing current branch"); indicator.setText(GithubBundle.message("rebase.process.rebasing.branch.onto", onto)); try (AccessToken ignore = DvcsUtil.workingTreeChangeStarted(myProject, GitBundle.message("rebase.git.operation.name"))) { List<VirtualFile> rootsToSave = Collections.singletonList(myRepository.getRoot()); GitSaveChangesPolicy saveMethod = GitVcsSettings.getInstance(myProject).getSaveChangesPolicy(); GitPreservingProcess process = new GitPreservingProcess(myProject, myGit, rootsToSave, GithubBundle.message("rebase.process.operation.title"), onto, saveMethod, indicator, () -> doRebaseCurrentBranch(indicator, onto)); process.execute(); } }