org.apache.maven.scm.provider.accurev

## Interface AccuRev

All Known Implementing Classes:
  AccuRevCommandLine

    public interface AccuRev

Represents the AccuRev CLI interface

Author:
  ggardner

### Field Summary

Fields
`static String` `ACCUREV_TIME_FORMAT_STRING`
`static DateFormat` `ACCUREV_TIME_SPEC`
`static String` `DEFAULT_ACCUREV_EXECUTABLE`
`static String` `DEFAULT_ADD_MESSAGE`
`static int` `DEFAULT_PORT`
`static String` `DEFAULT_PROMOTE_MESSAGE`
`static String` `DEFAULT_REMOVE_MESSAGE`

### Method Summary

All Methods Instance Methods Abstract Methods
`List<File>` `add(File basedir, List<File> files, String message)` Add the file to the repository.
`List<BlameLine>` `annotate(File baseDir, File file)` AccuRev annotate an element
`boolean` `chws(File basedir, String workSpaceName, String newBasisStream)` Relocate/reparent a workspace
`List<File>` `defunct(File basedir, List<File> files, String message)` Remove the file from the repository.
`List<FileDifference>` `diff(String baseStream, String fromTimeSpec, String toTimeSpec)` AccuRev differences of a stream between to timespecs
`String` `getClientVersion()`
`String` `getCommandLines()` The accurev command line strings since last reset(), separated by ";"
`String` `getErrorOutput()` Full output of accurev command line invocations since reset
`String` `getExecutable()`
`List<Transaction>` `history(String baseStream, String fromTimeSpec, String toTimeSpec, int count, boolean depotHistory, boolean transactionsOnly)`
`AccuRevInfo` `info(File basedir)` Get info about the current logged in user for the current workspace.
`boolean` `login(String user, String password)` Logins in as the given user, retains authtoken for use with subsequent commands.
`boolean` `mksnap(String snapShotName, String basisStream)`
`boolean` `mkws(String basisStream, String workspaceName, File basedir)` Make workspace
`List<File>` `pop(File basedir, Collection<File> elements)` Re populate missing files to existing workspace.
`List<File>` `popExternal(File basedir, String stream, String tranSpec, Collection<File> elements)` Populate external to a workspace a (stream) and transactionId/time, to a specific location.
`List<File>` `promote(File basedir, List<File> files, String message)`
`List<File>` `promoteAll(File basedir, String message)` Any elements that have been kept previously or are currently modified will be promoted.
`boolean` `reactivate(String workSpaceName)` Reactivate a workspace
`void` `reset()` Reset command process, clear command output accumulators
`boolean` `rmws(String workSpaceName)` Deactivate a workspace
`Map<String,WorkSpace>` `showRefTrees()`
`Stream` `showStream(String stream)`
`Map<String,WorkSpace>` `showWorkSpaces()`
`String` `stat(File element)` Accurev status of an element
`List<File>` `stat(File basedir, Collection<File> elements, AccuRevStat statType)`
`CategorisedElements` `statBackingStream(File basedir, Collection<File> elements)` Sorts list of elements by whether they exist in the backing stream or not.
`List<File>` `statTag(String streamName)`
`boolean` `syncReplica()`
`List<File>` `update(File basedir, String transactionId)` Update a workspace or reftree, to a particular transaction id

### Field Detail

#### DEFAULT_ACCUREV_EXECUTABLE

    static final String DEFAULT_ACCUREV_EXECUTABLE

See Also:
  Constant Field Values

#### DEFAULT_PORT

    static final int DEFAULT_PORT

See Also:
  Constant Field Values

#### ACCUREV_TIME_FORMAT_STRING

    static final String ACCUREV_TIME_FORMAT_STRING

See Also:
  Constant Field Values

#### ACCUREV_TIME_SPEC

    static final DateFormat ACCUREV_TIME_SPEC

#### DEFAULT_REMOVE_MESSAGE

    static final String DEFAULT_REMOVE_MESSAGE

See Also:
  Constant Field Values

#### DEFAULT_ADD_MESSAGE

    static final String DEFAULT_ADD_MESSAGE

See Also:
  Constant Field Values

#### DEFAULT_PROMOTE_MESSAGE

    static final String DEFAULT_PROMOTE_MESSAGE

See Also:
  Constant Field Values

### Method Detail

#### reset

    void reset()

Reset command process, clear command output accumulators

#### popExternal

    List<File> popExternal(File basedir,
                           String stream,
                           String tranSpec,
                           Collection<File> elements)
                    throws AccuRevException

Populate external to a workspace a (stream) and transactionId/time, to a specific location.

You must check `AccuRevCapability.POPULATE_TO_TRANSACTION` before passing a tranid/time to this method. If not supported should pass "now","highest" or null for tranSpec

Parameters:
  `basedir` -
  `stream` - stream to update to
  `tranSpec` - transaction to update to or "now" if not supported.
  `elements` - (must be depot relative. if null "/./" root is used)
Returns:
Throws:
  `AccuRevException`

#### pop

    List<File> pop(File basedir,
                   Collection<File> elements)
            throws AccuRevException

Re populate missing files to existing workspace.

Parameters:
  `basedir` -
  `elements` -
Returns:
Throws:
  `AccuRevException`

#### mkws

    boolean mkws(String basisStream,
                 String workspaceName,
                 File basedir)
          throws AccuRevException

Make workspace

Parameters:
  `basisStream` -
  `workspaceName` -
  `basedir` -
Returns:
Throws:
  `AccuRevException`

#### update

    List<File> update(File basedir,
                      String transactionId)
               throws AccuRevException

Update a workspace or reftree, to a particular transaction id

Parameters:
  `basedir` -
  `transactionId` -
Returns:
Throws:
  `AccuRevException`

#### info

    AccuRevInfo info(File basedir)
              throws AccuRevException

Get info about the current logged in user for the current workspace.

Parameters:
  `basedir` -
Returns:
Throws:
  `AccuRevException`

#### rmws

    boolean rmws(String workSpaceName)
          throws AccuRevException

Deactivate a workspace

Parameters:
  `workSpaceName` - full name of the workspace, including the user suffix
Returns:
Throws:
  `AccuRevException`

#### reactivate

    boolean reactivate(String workSpaceName)
                throws AccuRevException

Reactivate a workspace

Parameters:
  `workSpaceName` - full name of the workspace, including the user suffix
Returns:
Throws:
  `AccuRevException`

#### getCommandLines

    String getCommandLines()

The accurev command line strings since last reset(), separated by ";"

Returns:

#### getErrorOutput

    String getErrorOutput()

Full output of accurev command line invocations since reset

Returns:

#### add

    List<File> add(File basedir,
                   List<File> files,
                   String message)
            throws AccuRevException

Add the file to the repository. File must be within a workspace

Parameters:
  `basedir` - base directory of the workspace
  `files` - to add (relative to basedir, or absolute)
  `message` - the commit message
Throws:
  `AccuRevException`

#### defunct

    List<File> defunct(File basedir,
                       List<File> files,
                       String message)
                throws AccuRevException

Remove the file from the repository. Files must be within a workspace

Parameters:
  `basedir` -
  `files` -
  `message` -
Returns:
Throws:
  `AccuRevException`

#### promoteAll

    List<File> promoteAll(File basedir,
                          String message)
                   throws AccuRevException

Any elements that have been kept previously or are currently modified will be promoted.

Parameters:
  `basedir` - - location of the workspace to act on
  `message` -
Returns:
Throws:
  `AccuRevException`

#### promote

    List<File> promote(File basedir,
                       List<File> files,
                       String message)
                throws AccuRevException

Throws:
  `AccuRevException`

#### chws

    boolean chws(File basedir,
                 String workSpaceName,
                 String newBasisStream)
          throws AccuRevException

Relocate/reparent a workspace

Parameters:
  `basedir` -
  `workSpaceName` - (full workspacename including user)
  `newBasisStream` -
Returns:
Throws:
  `AccuRevException`

#### mksnap

    boolean mksnap(String snapShotName,
                   String basisStream)
            throws AccuRevException

Throws:
  `AccuRevException`

#### statTag

    List<File> statTag(String streamName)
                throws AccuRevException

Throws:
  `AccuRevException`

#### statBackingStream

    CategorisedElements statBackingStream(File basedir,
                                          Collection<File> elements)
                                   throws AccuRevException

Sorts list of elements by whether they exist in the backing stream or not.

Parameters:
  `basedir` -
  `elements` -
Returns:
Throws:
  `AccuRevException`

#### stat

    List<File> stat(File basedir,
                    Collection<File> elements,
                    AccuRevStat statType)
             throws AccuRevException

Parameters:
  `basedir` -
  `elements` - list of elements to stat, relative to basedir
  `statType` -
Returns:
Throws:
  `AccuRevException`

#### stat

    String stat(File element)
         throws AccuRevException

Accurev status of an element

Parameters:
  `element` -
Returns:
  null if ignored or not in workspace
Throws:
  `AccuRevException`

#### history

    List<Transaction> history(String baseStream,
                              String fromTimeSpec,
                              String toTimeSpec,
                              int count,
                              boolean depotHistory,
                              boolean transactionsOnly)
                       throws AccuRevException

Throws:
  `AccuRevException`

#### diff

    List<FileDifference> diff(String baseStream,
                              String fromTimeSpec,
                              String toTimeSpec)
                       throws AccuRevException

AccuRev differences of a stream between to timespecs

Parameters:
  `baseStream` -
  `fromTimeSpec` -
  `toTimeSpec` -
Returns:
Throws:
  `AccuRevException`

#### annotate

    List<BlameLine> annotate(File baseDir,
                             File file)
                      throws AccuRevException

AccuRev annotate an element

Parameters:
  `file` -
Returns:
Throws:
  `AccuRevException`

#### login

    boolean login(String user,
                  String password)
           throws AccuRevException

Logins in as the given user, retains authtoken for use with subsequent commands.

Parameters:
  `user` -
  `password` -
Returns:
Throws:
  `AccuRevException`

#### showWorkSpaces

    Map<String,WorkSpace> showWorkSpaces()
                                  throws AccuRevException

Throws:
  `AccuRevException`

#### showRefTrees

    Map<String,WorkSpace> showRefTrees()
                                throws AccuRevException

Throws:
  `AccuRevException`

#### showStream

    Stream showStream(String stream)
               throws AccuRevException

Throws:
  `AccuRevException`

#### getExecutable

    String getExecutable()

#### getClientVersion

    String getClientVersion()
                     throws AccuRevException

Throws:
  `AccuRevException`

#### syncReplica

    boolean syncReplica()
                 throws AccuRevException

Throws:
  `AccuRevException`