public void checkForOutsideCopies() { boolean canceled = false; for (Iterator<WCInfo> iterator = myWcInfos.iterator(); iterator.hasNext(); ) { final WCInfo wcInfo = iterator.next(); if (!wcInfo.isIsWcRoot()) { File path = new File(wcInfo.getPath()); path = SvnUtil.getWorkingCopyRoot(path); int result = Messages.showYesNoCancelDialog( SvnBundle.message("upgrade.format.clarify.for.outside.copies.text", path), SvnBundle.message("action.change.wcopy.format.task.title"), Messages.getWarningIcon()); if (DialogWrapper.CANCEL_EXIT_CODE == result) { canceled = true; break; } else if (DialogWrapper.OK_EXIT_CODE != result) { // no - for this copy only. maybe other iterator.remove(); } } } if (canceled) { myWcInfos.clear(); } }
public void run(@NotNull final ProgressIndicator indicator) { ProjectLevelVcsManager.getInstanceChecked(myProject).startBackgroundVcsOperation(); indicator.setIndeterminate(true); final boolean supportsChangelists = myNewFormat.supportsChangelists(); if (supportsChangelists) { myBeforeChangeLists = ChangeListManager.getInstance(myProject).getChangeListsCopy(); } final SVNWCClient wcClient = myVcs.createWCClient(); try { for (WCInfo wcInfo : myWcInfos) { File path = new File(wcInfo.getPath()); if (!wcInfo.isIsWcRoot()) { path = SvnUtil.getWorkingCopyRoot(path); } indicator.setText( SvnBundle.message( "action.change.wcopy.format.task.progress.text", path.getAbsolutePath(), SvnUtil.formatRepresentation(wcInfo.getFormat()), SvnUtil.formatRepresentation(myNewFormat))); try { wcClient.doSetWCFormat(path, myNewFormat.getFormat()); } catch (Throwable e) { myExceptions.add(e); } } } finally { ProjectLevelVcsManager.getInstance(myProject).stopBackgroundVcsOperation(); // to map to native if (supportsChangelists) { SvnVcs.getInstance(myProject).processChangeLists(myBeforeChangeLists); } ApplicationManager.getApplication().getMessageBus().syncPublisher(SvnVcs.WC_CONVERTED).run(); } }