gate.versioning.cmdline
Class CvsRepository

java.lang.Object
  extended by gate.versioning.cmdline.AbstractRepository
      extended by gate.versioning.cmdline.CvsRepository
All Implemented Interfaces:
Repository

public class CvsRepository
extends AbstractRepository

CVS repository implementation. The public API of this class is documented on the Repository interface.

See Also:
Repository

Field Summary
 
Fields inherited from class gate.versioning.cmdline.AbstractRepository
commandOutput, DEBUG, nl, root, stderrOutput, stdoutOutput, workingDir
 
Constructor Summary
CvsRepository()
           
 
Method Summary
 boolean create(String dirName)
          Create a new repository filetree (i.e. not a new object but a new database/filesystem on disk).
 boolean exists(String moduleName)
          Check for the existence of a module (i.e. top-level directory).
 String getCommandName()
          Returns "cvs".
protected  List getPostCommand(String fileName, boolean noRoot)
          Get the post-subcommand elements of the command (e.g. root).
protected  List getPreCommand()
          Get the pre-subcommand elements of the command (e.g.
 boolean importDir(String dirName)
          Import a directory.
 boolean isModified(String fileName)
          Use the repository's status command to figure out if the file has been locally modified.
 boolean isOutOfDate(String fileName)
          Use the repository's status command to figure out if the file is out-of-date.
 boolean isUnknown(String fileName)
          Use the repository's status command to figure out if the file is unknown.
 
Methods inherited from class gate.versioning.cmdline.AbstractRepository
add, buildCommandArray, buildCommandArray, checkin, checkin, checkout, delete, diff, getCommandOutput, getCommandStderr, getCommandStdout, getRepository, getRoot, init, runCommand, runCommand, setRoot, setWorkingDir, status, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CvsRepository

public CvsRepository()
Method Detail

getCommandName

public String getCommandName()
Returns "cvs".

Specified by:
getCommandName in interface Repository
Specified by:
getCommandName in class AbstractRepository

getPreCommand

protected List getPreCommand()
Get the pre-subcommand elements of the command (e.g. -d root).

Specified by:
getPreCommand in class AbstractRepository

getPostCommand

protected List getPostCommand(String fileName,
                              boolean noRoot)
Get the post-subcommand elements of the command (e.g. root).

Specified by:
getPostCommand in class AbstractRepository

create

public boolean create(String dirName)
               throws gate.util.GateException
Create a new repository filetree (i.e. not a new object but a new database/filesystem on disk). This method can be called before AbstractRepository.init() (so that we can create repositories without having an existing one).

Parameters:
dirName - the directory to work on, which will be created (should be an absolute path).
Returns:
boolean representing success or failure.
Throws:
gate.util.GateException

importDir

public boolean importDir(String dirName)
                  throws gate.util.GateException
Import a directory.

Parameters:
dirName - the directory to import (this must exist).
Returns:
boolean representing success or failure.
Throws:
gate.util.GateException - when the directory doesn't exist.

isModified

public boolean isModified(String fileName)
Use the repository's status command to figure out if the file has been locally modified.

Parameters:
fileName - the file or directory to work on (should be relative to the repository's working directory, and use "/" as a path separator).
Returns:
boolean giving status indication.

isOutOfDate

public boolean isOutOfDate(String fileName)
Use the repository's status command to figure out if the file is out-of-date.

Parameters:
fileName - the file or directory to work on (should be relative to the repository's working directory, and use "/" as a path separator).
Returns:
boolean giving status indication.

isUnknown

public boolean isUnknown(String fileName)
Use the repository's status command to figure out if the file is unknown.

Parameters:
fileName - the file or directory to work on (should be relative to the repository's working directory, and use "/" as a path separator).
Returns:
boolean giving status indication.

exists

public boolean exists(String moduleName)
Check for the existence of a module (i.e. top-level directory).

Parameters:
moduleName - directory to look for.
Returns:
boolean giving status indication.