コード例 #1
0
 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();
   }
 }
コード例 #2
0
  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();
    }
  }