Class PerforceCheckOutCommand

java.lang.Object
org.apache.maven.scm.command.AbstractCommand
org.apache.maven.scm.command.checkout.AbstractCheckOutCommand
org.apache.maven.scm.provider.perforce.command.checkout.PerforceCheckOutCommand
All Implemented Interfaces:
Command, PerforceCommand

public class PerforceCheckOutCommand extends AbstractCheckOutCommand implements PerforceCommand
  • Field Details

    • actualLocation

      private String actualLocation
  • Constructor Details

    • PerforceCheckOutCommand

      public PerforceCheckOutCommand()
  • Method Details

    • executeCheckOutCommand

      protected CheckOutScmResult executeCheckOutCommand(ScmProviderRepository repo, ScmFileSet files, ScmVersion version, boolean recursive, boolean shallow) throws ScmException
      Check out the depot code at repo.getPath() into the target directory at files.getBasedir. Perforce does not support arbitrary checkout of versioned source so we need to set up a well-known clientspec which will hold the required info.

      1) A clientspec will be created or updated which holds a temporary mapping from the repo path to the target directory. 2) This clientspec is sync'd to pull all the files onto the client

      Execute Check out command line.

      Specified by:
      executeCheckOutCommand in class AbstractCheckOutCommand
      Parameters:
      repo - not null
      files - not null
      version - not null
      recursive - true if recursive check out is wanted, false otherwise.
      shallow - true if shallow check out is wanted, false otherwise.
      Returns:
      the checkout result
      Throws:
      ScmException - if any
    • createCommandLine

      public static org.codehaus.plexus.util.cli.Commandline createCommandLine(PerforceScmProviderRepository repo, File workingDirectory, ScmVersion version, String specname)
    • getLastChangelist

      private int getLastChangelist(PerforceScmProviderRepository repo, File workingDirectory, String specname)