package com.intellij.cvsSupport2.cvsoperations.cvsRemove;

import com.intellij.cvsSupport2.connections.CvsRootProvider;
import com.intellij.cvsSupport2.cvsoperations.common.CvsOperationOnFiles;
import com.intellij.cvsSupport2.cvsoperations.common.CvsExecutionEnvironment;
import org.netbeans.lib.cvsclient.command.Command;
import org.netbeans.lib.cvsclient.command.remove.RemoveCommand;

public class RemoveFilesOperation extends CvsOperationOnFiles {
  public RemoveFilesOperation() {
  }

  protected Command createCommand(CvsRootProvider root, CvsExecutionEnvironment cvsExecutionEnvironment) {
    RemoveCommand result = new RemoveCommand();
    addFilesToCommand(root, result);
    return result;
  }

  protected String getOperationName() {
    return "remove";
  }
}

@@ -449,47 +449,8 @@
 s %7B%0A
-  public RemoveFilesOperation() %7B%0A  %7D%0A%0A
   pr
@@ -725,11 +725,71 @@
 ve%22;%0A  %7D
+%0A%0A  public boolean runInReadThread() %7B%0A    return false;%0A  %7D
 %0A%7D%0A

remove files may not take read action, otherwise a lock ordering violation between read/write actions and CvsOperationOnFiles lock may occur (IDEADEV-18163)