Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.apache.maven.scm.provider.cvslib.command.remove;
  
  /*
   * Copyright 2001-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 
 import java.io.File;
 import java.util.List;

Author(s):
Brett Porter
Version:
$Id: CvsRemoveCommand.java 264804 2005-08-30 16:09:04Z evenisse $
Todo:
separate the CVSlib stuff from the cvs command line so it is clear what needs to be updated eventually
 
 public class CvsRemoveCommand extends AbstractRemoveCommand implements CvsCommand
 {
     protected ScmResult executeRemoveCommandScmProviderRepository repoScmFileSet fileSetString message )
         throws ScmException
     {
         CvsScmProviderRepository repository = (CvsScmProviderRepositoryrepo;
 
         Commandline cl = new Commandline();
 
         cl.setExecutable"cvs" );
 
         cl.setWorkingDirectoryfileSet.getBasedir().getAbsolutePath() );
 
         cl.createArgument().setValue"-f" ); // don't use ~/.cvsrc
 
         cl.createArgument().setValue"-d" );
 
         cl.createArgument().setValuerepository.getCvsRoot() );
 
         cl.createArgument().setValue"-q" );
 
         cl.createArgument().setValue"remove" );
 
         cl.createArgument().setValue"-f" );
 
         cl.createArgument().setValue"-l" );
 
         if ( message != null && message.length() > 0 )
         {
             cl.createArgument().setValue"-m" );
 
             cl.createArgument().setValue"\"" + message + "\"" );
         }
 
         File[] files = fileSet.getFiles();
         List removedFiles = new ArrayList();
         for ( int i = 0; i < files.lengthi++ )
         {
             String path = files[i].getPath().replace'\\''/' );
             cl.createArgument().setValuepath );
             removedFiles.addnew ScmFilepath. ) );
         }
 
 
 
         int exitCode;
 
         getLogger().debug"Working directory: " + fileSet.getBasedir().getAbsolutePath() );
         getLogger().debug"Command line: " + cl );
         
         try
         {
             exitCode = CommandLineUtils.executeCommandLineclconsumerstderr );
         }
         catch ( CommandLineException ex )
         {
            throw new ScmException"Error while executing command."ex );
        }
        // TODO: actually it may have partially succeeded - should we cvs update the files and parse "A " responses?
        if ( exitCode != 0 )
        {
            return new RemoveScmResultcl.toString(), "The cvs command failed."stderr.getOutput(), false );
        }
        return new RemoveScmResultcl.toString(), removedFiles );
    }
New to GrepCode? Check out our FAQ X