org.apache.maven.scm.provider
Class ScmProviderStub

java.lang.Object
  extended by org.apache.maven.scm.provider.ScmProviderStub
All Implemented Interfaces:
ScmProvider

public class ScmProviderStub
extends Object
implements ScmProvider

Stub implementation of ScmProvider for unit testing purposes. It allows setting the expected results that the different methods will return. More information about Stubs on Martin Fowler's TestDouble

Version:
$Id: ScmProviderStub.java 1354687 2012-06-27 19:38:56Z olamy $
Author:
Carlos Sanchez

Field Summary
 
Fields inherited from interface org.apache.maven.scm.provider.ScmProvider
ROLE
 
Constructor Summary
ScmProviderStub()
          Create a new ScmProviderStub with bogus (not null) attributes
 
Method Summary
 AddScmResult add(ScmRepository repository, ScmFileSet fileSet)
          Adds the given files to the source control system
 AddScmResult add(ScmRepository repository, ScmFileSet fileSet, CommandParameters commandParameters)
          Adds the given files to the source control system
 AddScmResult add(ScmRepository repository, ScmFileSet fileSet, String message)
          Adds the given files to the source control system
 void addListener(ScmLogger logger)
          Add a logger listener.
 BlameScmResult blame(BlameScmRequest blameScmRequest)
           
 BlameScmResult blame(ScmRepository repository, ScmFileSet fileSet, String filename)
          Returns the blame of specified file
 BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName)
          Branch (or label in some systems) will create a branch of the source file with a certain branch name
 BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName, ScmBranchParameters scmBranchParameters)
          Branch (or label in some systems) will create a branch of the source file with a certain branch name
 BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName, String message)
          Branch (or label in some systems) will create a branch of the source file with a certain branch name
 ChangeLogScmResult changeLog(ChangeLogScmRequest scmRequest)
          Returns the changes that have happend in the source control system in a certain period of time.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, ScmBranch branch)
          Returns the changes that have happend in the source control system in a certain period of time.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, ScmBranch branch, String datePattern)
          Returns the changes that have happend in the source control system in a certain period of time.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, String branch)
          Returns the changes that have happend in the source control system in a certain period of time.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, String branch, String datePattern)
          Returns the changes that have happend in the source control system in a certain period of time.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion)
          Returns the changes that have happend in the source control system between two tags.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision, ScmVersion endRevision, String datePattern)
          Returns the changes that have happend in the source control system between two tags.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag)
          Returns the changes that have happend in the source control system between two tags.
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag, String datePattern)
          Returns the changes that have happend in the source control system between two tags.
 CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message)
          Save the changes you have done into the repository.
 CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, String message)
          Save the changes you have done into the repository.
 CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, String tag, String message)
          Save the changes you have done into the repository.
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet)
          Create a copy of the repository on your local machine
 CheckOutScmResult checkOut(ScmRepository scmRepository, ScmFileSet scmFileSet, boolean recursive)
          Create a copy of the repository on your local machine.
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion version)
          Create a copy of the repository on your local machine
 CheckOutScmResult checkOut(ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version, boolean recursive)
          Create a copy of the repository on your local machine.
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, String tag)
          Create a copy of the repository on your local machine
 CheckOutScmResult checkOut(ScmRepository scmRepository, ScmFileSet scmFileSet, String tag, boolean recursive)
          Create a copy of the repository on your local machine.
 DiffScmResult diff(ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion startVersion, ScmVersion endVersion)
          Create a diff between two branch/tag/revision.
 DiffScmResult diff(ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision)
          Create a diff between two branch/tag/revision.
 EditScmResult edit(ScmRepository repository, ScmFileSet fileSet)
          Make a file editable.
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet)
          Create an exported copy of the repository on your local machine
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion version)
          Create an exported copy of the repository on your local machine
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String outputDirectory)
          Create an exported copy of the repository on your local machine
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, String tag)
          Create an exported copy of the repository on your local machine
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory)
          Create an exported copy of the repository on your local machine
 AddScmResult getAddScmResult()
           
 BlameScmResult getBlameScmResult()
           
 BranchScmResult getBranchScmResult()
           
 ChangeLogScmResult getChangeLogScmResult()
           
 CheckInScmResult getCheckInScmResult()
           
 CheckOutScmResult getCheckOutScmResult()
           
 DiffScmResult getDiffScmResult()
           
 EditScmResult getEditScmResult()
           
 ExportScmResult getExportScmResult()
           
 ListScmResult getListScmResult()
           
 MkdirScmResult getMkdirScmResult()
           
 RemoveScmResult getRemoveScmResult()
           
 String getScmSpecificFilename()
          Returns the scm reserved file name where the SCM stores information like 'CVS', '.svn'.
 String getScmType()
          
 StatusScmResult getStatusScmResult()
           
 TagScmResult getTagScmResult()
           
 UnEditScmResult getUnEditScmResult()
           
 UpdateScmResult getUpdateScmResult()
           
 InfoScmResult info(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 ListScmResult list(ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version)
          List each element (files and directories) of fileSet as they exist in the repository.
 ListScmResult list(ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag)
          List each element (files and directories) of fileSet as they exist in the repository.
 ScmProviderRepository makeProviderScmRepository(File path)
          
 ScmProviderRepository makeProviderScmRepository(String scmSpecificUrl, char delimiter)
          
 MkdirScmResult mkdir(ScmRepository repository, ScmFileSet fileSet, String message, boolean createInLocal)
          Create directory/directories in the repository.
 RemoteInfoScmResult remoteInfo(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 RemoveScmResult remove(ScmRepository repository, ScmFileSet fileSet, String message)
          Removes the given files from the source control system
 boolean requiresEditMode()
           
 String sanitizeTagName(String tag)
          Given a tag name, make it suitable for this SCM provider.
 void setAddScmResult(AddScmResult addScmResult)
           
 void setBlameScmResult(BlameScmResult blameScmResult)
           
 void setBranchScmResult(BranchScmResult branchScmResult)
           
 void setChangeLogScmResult(ChangeLogScmResult changeLogScmResult)
           
 void setCheckInScmResult(CheckInScmResult checkInScmResult)
           
 void setCheckOutScmResult(CheckOutScmResult checkOutScmResult)
           
 void setDiffScmResult(DiffScmResult diffScmResult)
           
 void setEditScmResult(EditScmResult editScmResult)
           
 void setExportScmResult(ExportScmResult exportScmResult)
           
 void setListScmResult(ListScmResult listScmResult)
           
 void setMkdirScmResult(MkdirScmResult mkdirScmResult)
           
 void setRemoveScmResult(RemoveScmResult removeScmResult)
           
 void setScmSpecificFilename(String scmSpecificFilename)
           
 void setStatusScmResult(StatusScmResult statusScmResult)
           
 void setTagScmResult(TagScmResult tagScmResult)
           
 void setUnEditScmResult(UnEditScmResult unEditScmResult)
           
 void setUpdateScmResult(UpdateScmResult updateScmResult)
           
 StatusScmResult status(ScmRepository repository, ScmFileSet fileSet)
          Returns the status of the files in the source control system.
 TagScmResult tag(ScmRepository repository, ScmFileSet fileSet, String tag)
          Tag (or label in some systems) will tag the source file with a certain tag
 TagScmResult tag(ScmRepository repository, ScmFileSet fileSet, String tagName, ScmTagParameters scmTagParameters)
          Tag (or label in some systems) will tag the source file with a certain tag
 TagScmResult tag(ScmRepository repository, ScmFileSet fileSet, String tag, String message)
          Tag (or label in some systems) will tag the source file with a certain tag
 UnEditScmResult unedit(ScmRepository repository, ScmFileSet fileSet)
          Make a file no longer editable.
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, boolean runChangelog)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, boolean runChangelog)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate, String datePattern)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String datePattern)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate, String datePattern)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate, String datePattern, boolean runChangelog)
           
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern)
          Updates the copy on the local machine with the changes in the repository
 List<String> validateScmUrl(String scmSpecificUrl, char delimiter)
          Validate the scm url.
 boolean validateTagName(String tag)
          Check if this tag is valid for this SCM provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScmProviderStub

public ScmProviderStub()
Create a new ScmProviderStub with bogus (not null) attributes

Method Detail

sanitizeTagName

public String sanitizeTagName(String tag)
Given a tag name, make it suitable for this SCM provider. For example, CVS converts "." into "_"

Specified by:
sanitizeTagName in interface ScmProvider
Parameters:
tag - input tag name
Returns:
sanitized tag name

validateTagName

public boolean validateTagName(String tag)
Check if this tag is valid for this SCM provider.

Specified by:
validateTagName in interface ScmProvider
Parameters:
tag - tag name to check
Returns:
true if tag is valid

getScmType

public String getScmType()

Specified by:
getScmType in interface ScmProvider

setScmSpecificFilename

public void setScmSpecificFilename(String scmSpecificFilename)

addListener

public void addListener(ScmLogger logger)
Add a logger listener.

Specified by:
addListener in interface ScmProvider
Parameters:
logger - The logger

requiresEditMode

public boolean requiresEditMode()
Specified by:
requiresEditMode in interface ScmProvider

setAddScmResult

public void setAddScmResult(AddScmResult addScmResult)

getAddScmResult

public AddScmResult getAddScmResult()

setBranchScmResult

public void setBranchScmResult(BranchScmResult branchScmResult)

getBranchScmResult

public BranchScmResult getBranchScmResult()

setCheckInScmResult

public void setCheckInScmResult(CheckInScmResult checkInScmResult)

getCheckInScmResult

public CheckInScmResult getCheckInScmResult()

setCheckOutScmResult

public void setCheckOutScmResult(CheckOutScmResult checkOutScmResult)

getCheckOutScmResult

public CheckOutScmResult getCheckOutScmResult()

setChangeLogScmResult

public void setChangeLogScmResult(ChangeLogScmResult changeLogScmResult)

getChangeLogScmResult

public ChangeLogScmResult getChangeLogScmResult()

setDiffScmResult

public void setDiffScmResult(DiffScmResult diffScmResult)

getDiffScmResult

public DiffScmResult getDiffScmResult()

getExportScmResult

public ExportScmResult getExportScmResult()

setExportScmResult

public void setExportScmResult(ExportScmResult exportScmResult)

setTagScmResult

public void setTagScmResult(TagScmResult tagScmResult)

getTagScmResult

public TagScmResult getTagScmResult()

setRemoveScmResult

public void setRemoveScmResult(RemoveScmResult removeScmResult)

getRemoveScmResult

public RemoveScmResult getRemoveScmResult()

setStatusScmResult

public void setStatusScmResult(StatusScmResult statusScmResult)

getStatusScmResult

public StatusScmResult getStatusScmResult()

setUpdateScmResult

public void setUpdateScmResult(UpdateScmResult updateScmResult)

getUpdateScmResult

public UpdateScmResult getUpdateScmResult()

setEditScmResult

public void setEditScmResult(EditScmResult editScmResult)

getEditScmResult

public EditScmResult getEditScmResult()

setUnEditScmResult

public void setUnEditScmResult(UnEditScmResult unEditScmResult)

getUnEditScmResult

public UnEditScmResult getUnEditScmResult()

setListScmResult

public void setListScmResult(ListScmResult listScmResult)

getListScmResult

public ListScmResult getListScmResult()

setBlameScmResult

public void setBlameScmResult(BlameScmResult blameScmResult)

getBlameScmResult

public BlameScmResult getBlameScmResult()

getMkdirScmResult

public MkdirScmResult getMkdirScmResult()

setMkdirScmResult

public void setMkdirScmResult(MkdirScmResult mkdirScmResult)

makeProviderScmRepository

public ScmProviderRepository makeProviderScmRepository(String scmSpecificUrl,
                                                       char delimiter)
                                                throws ScmRepositoryException

Specified by:
makeProviderScmRepository in interface ScmProvider
Throws:
ScmRepositoryException

makeProviderScmRepository

public ScmProviderRepository makeProviderScmRepository(File path)
                                                throws ScmRepositoryException,
                                                       UnknownRepositoryStructure

Specified by:
makeProviderScmRepository in interface ScmProvider
Throws:
ScmRepositoryException
UnknownRepositoryStructure

validateScmUrl

public List<String> validateScmUrl(String scmSpecificUrl,
                                   char delimiter)
Validate the scm url.

Specified by:
validateScmUrl in interface ScmProvider
Parameters:
scmSpecificUrl - The SCM url
delimiter - The delimiter used in the SCM url
Returns:
Returns a list of messages if the validation failed

getScmSpecificFilename

public String getScmSpecificFilename()
Returns the scm reserved file name where the SCM stores information like 'CVS', '.svn'.

Specified by:
getScmSpecificFilename in interface ScmProvider
Returns:
the scm reserved file name

add

public AddScmResult add(ScmRepository repository,
                        ScmFileSet fileSet)
                 throws ScmException
Adds the given files to the source control system

Specified by:
add in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to be added
Returns:
an AddScmResult that contains the files that have been added
Throws:
ScmException - if any

add

public AddScmResult add(ScmRepository repository,
                        ScmFileSet fileSet,
                        String message)
                 throws ScmException
Adds the given files to the source control system

Specified by:
add in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to be added
message - a string that is a comment on the new added file
Returns:
an AddScmResult that contains the files that have been added
Throws:
ScmException - if any

add

public AddScmResult add(ScmRepository repository,
                        ScmFileSet fileSet,
                        CommandParameters commandParameters)
                 throws ScmException
Description copied from interface: ScmProvider
Adds the given files to the source control system

Specified by:
add in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to be added
commandParameters - CommandParameters
Returns:
an AddScmResult that contains the files that have been added
Throws:
ScmException - if any

branch

public BranchScmResult branch(ScmRepository repository,
                              ScmFileSet fileSet,
                              String branchName)
                       throws ScmException
Branch (or label in some systems) will create a branch of the source file with a certain branch name

Specified by:
branch in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to branch. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
branchName - the branch name to apply to the files
Returns:
Throws:
ScmException - if any

branch

public BranchScmResult branch(ScmRepository repository,
                              ScmFileSet fileSet,
                              String branchName,
                              String message)
                       throws ScmException
Branch (or label in some systems) will create a branch of the source file with a certain branch name

Specified by:
branch in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to branch. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
branchName - the branch name to apply to the files
message - the commit message used for the tag creation
Returns:
Throws:
ScmException - if any

branch

public BranchScmResult branch(ScmRepository repository,
                              ScmFileSet fileSet,
                              String branchName,
                              ScmBranchParameters scmBranchParameters)
                       throws ScmException
Branch (or label in some systems) will create a branch of the source file with a certain branch name

Specified by:
branch in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to branch. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
branchName - the branch name to apply to the files
Returns:
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    Date startDate,
                                    Date endDate,
                                    int numDays,
                                    String branch)
                             throws ScmException
Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startDate - the start date of the period
endDate - the end date of the period
numDays - the number days before the current time if startdate and enddate are null
branch - the branch/tag name
Returns:
The SCM result of the changelog command
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    Date startDate,
                                    Date endDate,
                                    int numDays,
                                    String branch,
                                    String datePattern)
                             throws ScmException
Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startDate - the start date of the period
endDate - the end date of the period
numDays - the number days before the current time if startdate and enddate are null
branch - the branch/tag name
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
The SCM result of the changelog command
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    String startTag,
                                    String endTag)
                             throws ScmException
Returns the changes that have happend in the source control system between two tags. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startTag - the start tag
endTag - the end tag
Returns:
The SCM result of the changelog command
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    String startTag,
                                    String endTag,
                                    String datePattern)
                             throws ScmException
Returns the changes that have happend in the source control system between two tags. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startTag - the start tag
endTag - the end tag
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    Date startDate,
                                    Date endDate,
                                    int numDays,
                                    ScmBranch branch)
                             throws ScmException
Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startDate - the start date of the period
endDate - the end date of the period
numDays - the number days before the current time if startdate and enddate are null
branch - the branch/tag
Returns:
The SCM result of the changelog command
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    Date startDate,
                                    Date endDate,
                                    int numDays,
                                    ScmBranch branch,
                                    String datePattern)
                             throws ScmException
Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startDate - the start date of the period
endDate - the end date of the period
numDays - the number days before the current time if startdate and enddate are null
branch - the branch/tag
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
The SCM result of the changelog command
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ChangeLogScmRequest scmRequest)
                             throws ScmException
Description copied from interface: ScmProvider
Returns the changes that have happend in the source control system in a certain period of time. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
scmRequest - request wrapping detailed parameters for the changelog command
Returns:
The SCM result of the changelog command
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    ScmVersion startVersion,
                                    ScmVersion endVersion)
                             throws ScmException
Returns the changes that have happend in the source control system between two tags. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startVersion - the start branch/tag/revision
endVersion - the end branch/tag/revision
Returns:
The SCM result of the changelog command
Throws:
ScmException - if any

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    ScmVersion startRevision,
                                    ScmVersion endRevision,
                                    String datePattern)
                             throws ScmException
Returns the changes that have happend in the source control system between two tags. This can be adding, removing, updating, ... of files

Specified by:
changeLog in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the changes about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
startRevision - the start revision
endRevision - the end revision
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
Throws:
ScmException - if any

checkIn

public CheckInScmResult checkIn(ScmRepository repository,
                                ScmFileSet fileSet,
                                String tag,
                                String message)
                         throws ScmException
Save the changes you have done into the repository. This will create a new version of the file or directory in the repository.

When the fileSet has no entries, the fileSet.getBaseDir() is recursively committed. When the fileSet has entries, the commit is non-recursive and only the elements in the fileSet are committed.

Specified by:
checkIn in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to check in (sometimes called commit)
tag - tag or revision
message - a string that is a comment on the changes that where done
Returns:
Throws:
ScmException - if any

checkIn

public CheckInScmResult checkIn(ScmRepository repository,
                                ScmFileSet fileSet,
                                String message)
                         throws ScmException
Save the changes you have done into the repository. This will create a new version of the file or directory in the repository.

When the fileSet has no entries, the fileSet.getBaseDir() is recursively committed. When the fileSet has entries, the commit is non-recursive and only the elements in the fileSet are committed.

Specified by:
checkIn in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to check in (sometimes called commit)
message - a string that is a comment on the changes that where done
Returns:
Throws:
ScmException - if any

checkIn

public CheckInScmResult checkIn(ScmRepository repository,
                                ScmFileSet fileSet,
                                ScmVersion revision,
                                String message)
                         throws ScmException
Save the changes you have done into the repository. This will create a new version of the file or directory in the repository.

When the fileSet has no entries, the fileSet.getBaseDir() is recursively committed. When the fileSet has entries, the commit is non-recursive and only the elements in the fileSet are committed.

Specified by:
checkIn in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to check in (sometimes called commit)
revision - branch/tag/revision
message - a string that is a comment on the changes that where done
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository scmRepository,
                                  ScmFileSet scmFileSet,
                                  String tag,
                                  boolean recursive)
                           throws ScmException
Create a copy of the repository on your local machine.

Specified by:
checkOut in interface ScmProvider
Parameters:
scmRepository - the source control system
scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
tag - tag or revision
recursive - whether to check out recursively
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository repository,
                                  ScmFileSet fileSet,
                                  String tag)
                           throws ScmException
Create a copy of the repository on your local machine

Specified by:
checkOut in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
tag - get the version defined by the tag
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository repository,
                                  ScmFileSet fileSet)
                           throws ScmException
Create a copy of the repository on your local machine

Specified by:
checkOut in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository repository,
                                  ScmFileSet fileSet,
                                  ScmVersion version)
                           throws ScmException
Create a copy of the repository on your local machine

Specified by:
checkOut in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
version - get the version defined by the revision, branch or tag
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository scmRepository,
                                  ScmFileSet scmFileSet,
                                  boolean recursive)
                           throws ScmException
Create a copy of the repository on your local machine.

Specified by:
checkOut in interface ScmProvider
Parameters:
scmRepository - the source control system
scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
recursive - whether to check out recursively
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository scmRepository,
                                  ScmFileSet scmFileSet,
                                  ScmVersion version,
                                  boolean recursive)
                           throws ScmException
Create a copy of the repository on your local machine.

Specified by:
checkOut in interface ScmProvider
Parameters:
scmRepository - the source control system
scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
version - get the version defined by the revision, branch or tag
recursive - whether to check out recursively
Returns:
Throws:
ScmException - if any

diff

public DiffScmResult diff(ScmRepository repository,
                          ScmFileSet fileSet,
                          String startRevision,
                          String endRevision)
                   throws ScmException
Create a diff between two branch/tag/revision.

Specified by:
diff in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
startRevision - the start revision
endRevision - the end revision
Returns:
Throws:
ScmException - if any

diff

public DiffScmResult diff(ScmRepository scmRepository,
                          ScmFileSet scmFileSet,
                          ScmVersion startVersion,
                          ScmVersion endVersion)
                   throws ScmException
Create a diff between two branch/tag/revision.

Specified by:
diff in interface ScmProvider
Parameters:
scmRepository - the source control system
scmFileSet - the files are copied to the ScmFileSet.getBasedir() location
startVersion - the start branch/tag/revision
endVersion - the end branch/tag/revision
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag,
                              Date lastUpdate,
                              String datePattern,
                              boolean runChangelog)
                       throws ScmException
Returns:
getUpdateScmResult() always
Throws:
ScmException

edit

public EditScmResult edit(ScmRepository repository,
                          ScmFileSet fileSet)
                   throws ScmException
Make a file editable. This is used in source control systems where you look at read-only files and you need to make them not read-only anymore before you can edit them. This can also mean that no other user in the system can make the file not read-only anymore.

Specified by:
edit in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to make editable
Returns:
Throws:
ScmException - if any

export

public ExportScmResult export(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag)
                       throws ScmException
Create an exported copy of the repository on your local machine

Specified by:
export in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
tag - get the version defined by the tag
Returns:
Throws:
ScmException - if any

export

public ExportScmResult export(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag,
                              String outputDirectory)
                       throws ScmException
Create an exported copy of the repository on your local machine

Specified by:
export in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
tag - get the version defined by the tag
outputDirectory - the directory where the export will be stored
Returns:
Throws:
ScmException - if any

export

public ExportScmResult export(ScmRepository repository,
                              ScmFileSet fileSet)
                       throws ScmException
Create an exported copy of the repository on your local machine

Specified by:
export in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
Returns:
Throws:
ScmException - if any

export

public ExportScmResult export(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion version)
                       throws ScmException
Create an exported copy of the repository on your local machine

Specified by:
export in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
version - get the version defined by the branch/tag/revision
Returns:
Throws:
ScmException - if any

export

public ExportScmResult export(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion version,
                              String outputDirectory)
                       throws ScmException
Create an exported copy of the repository on your local machine

Specified by:
export in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files are copied to the ScmFileSet.getBasedir() location
version - get the version defined by the branch/tag/revision
outputDirectory - the directory where the export will be stored
Returns:
Throws:
ScmException - if any

list

public ListScmResult list(ScmRepository repository,
                          ScmFileSet fileSet,
                          boolean recursive,
                          String tag)
                   throws ScmException
List each element (files and directories) of fileSet as they exist in the repository.

Specified by:
list in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to list
recursive - descend recursively
tag - use the version defined by the tag
Returns:
the list of files in the repository
Throws:
ScmException

list

public ListScmResult list(ScmRepository repository,
                          ScmFileSet fileSet,
                          boolean recursive,
                          ScmVersion version)
                   throws ScmException
List each element (files and directories) of fileSet as they exist in the repository.

Specified by:
list in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to list
recursive - descend recursively
version - use the version defined by the branch/tag/revision
Returns:
the list of files in the repository
Throws:
ScmException - if any

remove

public RemoveScmResult remove(ScmRepository repository,
                              ScmFileSet fileSet,
                              String message)
                       throws ScmException
Removes the given files from the source control system

Specified by:
remove in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to be removed
Returns:
Throws:
ScmException - if any

status

public StatusScmResult status(ScmRepository repository,
                              ScmFileSet fileSet)
                       throws ScmException
Returns the status of the files in the source control system. The state of each file can be one of the ScmFileStatus flags.

Specified by:
status in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to know the status about. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
Returns:
Throws:
ScmException - if any

tag

public TagScmResult tag(ScmRepository repository,
                        ScmFileSet fileSet,
                        String tag)
                 throws ScmException
Tag (or label in some systems) will tag the source file with a certain tag

Specified by:
tag in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to tag. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
tag - the tag name to apply to the files
Returns:
Throws:
ScmException - if any

tag

public TagScmResult tag(ScmRepository repository,
                        ScmFileSet fileSet,
                        String tag,
                        String message)
                 throws ScmException
Tag (or label in some systems) will tag the source file with a certain tag

Specified by:
tag in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to tag. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
tag - the tag name to apply to the files
message - the commit message used for the tag creation
Returns:
Throws:
ScmException - if any

tag

public TagScmResult tag(ScmRepository repository,
                        ScmFileSet fileSet,
                        String tagName,
                        ScmTagParameters scmTagParameters)
                 throws ScmException
Description copied from interface: ScmProvider
Tag (or label in some systems) will tag the source file with a certain tag

Specified by:
tag in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to tag. Implementations can also give the changes from the ScmFileSet.getBasedir() downwards.
tagName - the tag name to apply to the files
scmTagParameters - bean to pass some paramters for tagging ScmTagParameters
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
tag - use the version defined by the tag
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag,
                              boolean runChangelog)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
tag - use the version defined by the tag
runChangelog - Run the changelog command after the update
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag,
                              String datePattern)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
tag - use the version defined by the tag
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag,
                              Date lastUpdate)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
tag - use the version defined by the tag
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag,
                              Date lastUpdate,
                              String datePattern)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
tag - use the version defined by the tag
lastUpdate - Date of last update
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion version)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
version - use the version defined by the branch/tag/revision
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              boolean runChangelog)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
runChangelog - Run the changelog command after the update
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion version,
                              boolean runChangelog)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
version - use the version defined by the branch/tag/revision
runChangelog - Run the changelog command after the update
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion version,
                              String datePattern)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
version - use the version defined by the branch/tag/revision
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion version,
                              Date lastUpdate)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
version - use the version defined by the branch/tag/revision
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion version,
                              Date lastUpdate,
                              String datePattern)
                       throws ScmException
Updates the copy on the local machine with the changes in the repository

Specified by:
update in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
version - use the version defined by the branch/tag/revision
lastUpdate - Date of last update
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
Throws:
ScmException - if any

unedit

public UnEditScmResult unedit(ScmRepository repository,
                              ScmFileSet fileSet)
                       throws ScmException
Make a file no longer editable. This is the conterpart of ScmProvider.edit( org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet). It makes the file read-only again.

Specified by:
unedit in interface ScmProvider
Parameters:
repository - the source control system
fileSet - the files to make uneditable
Returns:
Throws:
ScmException - if any

blame

public BlameScmResult blame(ScmRepository repository,
                            ScmFileSet fileSet,
                            String filename)
                     throws ScmException
Returns the blame of specified file

Specified by:
blame in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
filename - file
Returns:
blame for specified file
Throws:
ScmException

blame

public BlameScmResult blame(BlameScmRequest blameScmRequest)
                     throws ScmException
Specified by:
blame in interface ScmProvider
Returns:
blame for the file specified in the request
Throws:
ScmException

mkdir

public MkdirScmResult mkdir(ScmRepository repository,
                            ScmFileSet fileSet,
                            String message,
                            boolean createInLocal)
                     throws ScmException
Create directory/directories in the repository.

Specified by:
mkdir in interface ScmProvider
Returns:
Throws:
ScmException

info

public InfoScmResult info(ScmProviderRepository repository,
                          ScmFileSet fileSet,
                          CommandParameters parameters)
                   throws ScmException
Specified by:
info in interface ScmProvider
Parameters:
repository - the source control system
fileSet - location of your local copy
parameters - some parameters (not use currently but for future use)
Returns:
if the scm implementation doesn't support "info" result will null
Throws:
ScmException

remoteInfo

public RemoteInfoScmResult remoteInfo(ScmProviderRepository repository,
                                      ScmFileSet fileSet,
                                      CommandParameters parameters)
                               throws ScmException
Specified by:
remoteInfo in interface ScmProvider
Parameters:
repository - the source control system
fileSet - not use currently but for future use
parameters - some parameters (not use currently but for future use)
Returns:
if the scm implementation doesn't support "info" result will null
Throws:
ScmException


Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.