GitChangesSaver (@NotNull GitSaveChangesPolicy saveMethod) { GitChangesSaver saver = GitChangesSaver.getSaver(myProject, myGit, myProgressIndicator, myStashMessage, saveMethod); MergeDialogCustomizer mergeDialogCustomizer = new MergeDialogCustomizer() { @Override public @NotNull String getMultipleFileMergeDescription(@NotNull Collection<VirtualFile> files) { return wrapInHtml( GitBundle.message( "restore.conflict.dialog.description.label.text", myOperationTitle, wrapInHtmlTag(myDestinationName, "code") ) ); } @Override public @NotNull String getLeftPanelTitle(@NotNull VirtualFile file) { return saveMethod.selectBundleMessage( GitBundle.message("restore.conflict.diff.dialog.left.stash.title"), GitBundle.message("restore.conflict.diff.dialog.left.shelf.title") ); } @Override public @NotNull String getRightPanelTitle(@NotNull VirtualFile file, VcsRevisionNumber revisionNumber) { return wrapInHtml(GitBundle.message("restore.conflict.diff.dialog.right.title", wrapInHtmlTag(myDestinationName, "b"))); } }; GitConflictResolver.Params params = new GitConflictResolver.Params(myProject). setReverse(true). setMergeDialogCustomizer(mergeDialogCustomizer). setErrorNotificationTitle(GitBundle.message("preserving.process.local.changes.not.restored.error.title")); saver.setConflictResolverParams(params); return saver; }