org.apache.maven.scm.provider
Class AbstractScmProvider

java.lang.Object
  extended by org.apache.maven.scm.provider.AbstractScmProvider
All Implemented Interfaces:
ScmProvider
Direct Known Subclasses:
AbstractCvsScmProvider, AbstractGitScmProvider, AbstractSvnScmProvider, AccuRevScmProvider, BazaarScmProvider, ClearCaseScmProvider, HgScmProvider, IntegrityScmProvider, JazzScmProvider, LocalScmProvider, PerforceScmProvider, StarteamScmProvider, SynergyScmProvider, TfsScmProvider, VssScmProvider

public abstract class AbstractScmProvider
extends Object
implements ScmProvider

Version:
$Id: AbstractScmProvider.java 1379643 2012-08-31 22:23:22Z olamy $
Author:
Trygve Laugstøl, Emmanuel Venisse, Olivier Lamy

Field Summary
 
Fields inherited from interface org.apache.maven.scm.provider.ScmProvider
ROLE
 
Constructor Summary
AbstractScmProvider()
           
 
Method Summary
 AddScmResult add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 AddScmResult add(ScmRepository repository, ScmFileSet fileSet)
          Adds the given files to the source control system
 AddScmResult add(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters)
          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)
           
protected  BlameScmResult blame(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 BlameScmResult blame(ScmRepository repository, ScmFileSet fileSet, String filename)
          Returns the blame of specified file
protected  BranchScmResult branch(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 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 request)
          Returns the changes that have happend in the source control system in a certain period of time.
protected  ChangeLogScmResult changelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 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)
          Deprecated.  
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, String branch, String datePattern)
          Deprecated.  
 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 startVersion, ScmVersion endVersion, 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)
          Deprecated.  
 ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag, String datePattern)
          Deprecated.  
protected  CheckInScmResult checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, 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)
          Deprecated.  
protected  CheckOutScmResult checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet)
          Create a copy of the repository on your local machine
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, boolean recursive)
          Create a copy of the repository on your local machine.
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion)
          Create a copy of the repository on your local machine
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, boolean recursive)
          Create a copy of the repository on your local machine.
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, String tag)
          Deprecated.  
 CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, String tag, boolean recursive)
          Deprecated.  
protected  DiffScmResult diff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 DiffScmResult diff(ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion)
          Create a diff between two branch/tag/revision.
 DiffScmResult diff(ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision)
          Deprecated.  
protected  EditScmResult edit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 EditScmResult edit(ScmRepository repository, ScmFileSet fileSet)
          Make a file editable.
protected  ExportScmResult export(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet)
          Create an exported copy of the repository on your local machine
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion)
          Create an exported copy of the repository on your local machine
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, String outputDirectory)
          Create an exported copy of the repository on your local machine
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, String tag)
          Deprecated.  
 ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory)
          Deprecated.  
 ScmLogger getLogger()
           
 String getScmSpecificFilename()
          Returns the scm reserved file name where the SCM stores information like 'CVS', '.svn'.
 InfoScmResult info(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
protected  ListScmResult list(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
          List each element (files and directories) of fileSet as they exist in the repository.
 ListScmResult list(ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion scmVersion)
          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.
protected  LoginScmResult login(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 ScmProviderRepository makeProviderScmRepository(File path)
          
protected  MkdirScmResult mkdir(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
          Create directory/directories in the repository.
 MkdirScmResult mkdir(ScmRepository repository, ScmFileSet fileSet, String message, boolean createInLocal)
          Create directory/directories in the repository.
 RemoteInfoScmResult remoteInfo(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
protected  RemoveScmResult remove(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.
protected  StatusScmResult status(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 StatusScmResult status(ScmRepository repository, ScmFileSet fileSet)
          Returns the status of the files in the source control system.
protected  TagScmResult tag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 TagScmResult tag(ScmRepository repository, ScmFileSet fileSet, String tagName)
          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 tagName, String message)
          Tag (or label in some systems) will tag the source file with a certain tag
protected  UnEditScmResult unedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 UnEditScmResult unedit(ScmRepository repository, ScmFileSet fileSet)
          Make a file no longer editable.
protected  UpdateScmResult update(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
           
 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 scmVersion)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, boolean runChangelog)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, Date lastUpdate)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, Date lastUpdate, String datePattern)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, String datePattern)
          Updates the copy on the local machine with the changes in the repository
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag)
          Deprecated.  
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog)
          Deprecated.  
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate)
          Deprecated.  
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate, String datePattern)
          Deprecated.  
 UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern)
          Deprecated.  
 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
 
Methods inherited from interface org.apache.maven.scm.provider.ScmProvider
getScmType, makeProviderScmRepository
 

Constructor Detail

AbstractScmProvider

public AbstractScmProvider()
Method Detail

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

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

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

requiresEditMode

public boolean requiresEditMode()

Specified by:
requiresEditMode in interface ScmProvider

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 parameters)
                 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
parameters - CommandParameters
Returns:
an AddScmResult that contains the files that have been added
Throws:
ScmException - if any

add

public AddScmResult add(ScmProviderRepository repository,
                        ScmFileSet fileSet,
                        CommandParameters parameters)
                 throws ScmException
Throws:
ScmException

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
Description copied from interface: ScmProvider
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

protected BranchScmResult branch(ScmProviderRepository repository,
                                 ScmFileSet fileSet,
                                 CommandParameters parameters)
                          throws ScmException
Throws:
ScmException

changeLog

public ChangeLogScmResult changeLog(ScmRepository repository,
                                    ScmFileSet fileSet,
                                    Date startDate,
                                    Date endDate,
                                    int numDays,
                                    String branch)
                             throws ScmException
Deprecated. 

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
Deprecated. 

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,
                                    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 request)
                             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:
request - 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,
                                    String startTag,
                                    String endTag)
                             throws ScmException
Deprecated. 

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
Deprecated. 

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,
                                    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 startVersion,
                                    ScmVersion endVersion,
                                    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.
startVersion - the start revision
endVersion - the end revision
datePattern - the date pattern use in changelog output returned by scm tool
Returns:
Throws:
ScmException - if any

changelog

protected ChangeLogScmResult changelog(ScmProviderRepository repository,
                                       ScmFileSet fileSet,
                                       CommandParameters parameters)
                                throws ScmException
Throws:
ScmException

checkIn

public CheckInScmResult checkIn(ScmRepository repository,
                                ScmFileSet fileSet,
                                String tag,
                                String message)
                         throws ScmException
Deprecated. 

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 scmVersion,
                                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)
scmVersion - branch/tag/revision
message - a string that is a comment on the changes that where done
Returns:
Throws:
ScmException - if any

checkin

protected CheckInScmResult checkin(ScmProviderRepository repository,
                                   ScmFileSet fileSet,
                                   CommandParameters parameters)
                            throws ScmException
Throws:
ScmException

checkOut

public CheckOutScmResult checkOut(ScmRepository repository,
                                  ScmFileSet fileSet,
                                  String tag)
                           throws ScmException
Deprecated. 

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,
                                  String tag,
                                  boolean recursive)
                           throws ScmException
Deprecated. 

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 - tag or revision
recursive - whether to check out recursively
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 scmVersion)
                           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
scmVersion - get the version defined by the revision, branch or tag
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository repository,
                                  ScmFileSet fileSet,
                                  boolean recursive)
                           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
recursive - whether to check out recursively
Returns:
Throws:
ScmException - if any

checkOut

public CheckOutScmResult checkOut(ScmRepository repository,
                                  ScmFileSet fileSet,
                                  ScmVersion scmVersion,
                                  boolean recursive)
                           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
scmVersion - get the version defined by the revision, branch or tag
recursive - whether to check out recursively
Returns:
Throws:
ScmException - if any

checkout

protected CheckOutScmResult checkout(ScmProviderRepository repository,
                                     ScmFileSet fileSet,
                                     CommandParameters parameters)
                              throws ScmException
Throws:
ScmException

diff

public DiffScmResult diff(ScmRepository repository,
                          ScmFileSet fileSet,
                          String startRevision,
                          String endRevision)
                   throws ScmException
Deprecated. 

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 repository,
                          ScmFileSet fileSet,
                          ScmVersion startVersion,
                          ScmVersion endVersion)
                   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
startVersion - the start branch/tag/revision
endVersion - the end branch/tag/revision
Returns:
Throws:
ScmException - if any

diff

protected DiffScmResult diff(ScmProviderRepository repository,
                             ScmFileSet fileSet,
                             CommandParameters parameters)
                      throws ScmException
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

edit

protected EditScmResult edit(ScmProviderRepository repository,
                             ScmFileSet fileSet,
                             CommandParameters parameters)
                      throws ScmException
Throws:
ScmException

export

public ExportScmResult export(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag)
                       throws ScmException
Deprecated. 

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
Deprecated. 

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 scmVersion)
                       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
scmVersion - get the version defined by the branch/tag/revision
Returns:
Throws:
ScmException - if any

export

public ExportScmResult export(ScmRepository repository,
                              ScmFileSet fileSet,
                              ScmVersion scmVersion,
                              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
scmVersion - get the version defined by the branch/tag/revision
outputDirectory - the directory where the export will be stored
Returns:
Throws:
ScmException - if any

export

protected ExportScmResult export(ScmProviderRepository repository,
                                 ScmFileSet fileSet,
                                 CommandParameters parameters)
                          throws ScmException
Throws:
ScmException

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 scmVersion)
                   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
scmVersion - use the version defined by the branch/tag/revision
Returns:
the list of files in the repository
Throws:
ScmException - if any

list

protected ListScmResult list(ScmProviderRepository repository,
                             ScmFileSet fileSet,
                             CommandParameters parameters)
                      throws ScmException
List each element (files and directories) of fileSet as they exist in the repository.

Parameters:
repository - the source control system
fileSet - the files to list
parameters -
Returns:
The list of files in the repository
Throws:
NoSuchCommandScmException - unless overriden by subclass
ScmException - if any

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

mkdir

protected MkdirScmResult mkdir(ScmProviderRepository repository,
                               ScmFileSet fileSet,
                               CommandParameters parameters)
                        throws ScmException
Create directory/directories in the repository.

Parameters:
repository -
fileSet -
parameters -
Returns:
Throws:
ScmException

login

protected LoginScmResult login(ScmProviderRepository repository,
                               ScmFileSet fileSet,
                               CommandParameters parameters)
                        throws ScmException
Throws:
ScmException

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

remove

protected RemoveScmResult remove(ScmProviderRepository repository,
                                 ScmFileSet fileSet,
                                 CommandParameters parameters)
                          throws ScmException
Throws:
ScmException

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

status

protected StatusScmResult status(ScmProviderRepository repository,
                                 ScmFileSet fileSet,
                                 CommandParameters parameters)
                          throws ScmException
Throws:
ScmException

tag

public TagScmResult tag(ScmRepository repository,
                        ScmFileSet fileSet,
                        String tagName)
                 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.
tagName - the tag name to apply to the files
Returns:
Throws:
ScmException - if any

tag

public TagScmResult tag(ScmRepository repository,
                        ScmFileSet fileSet,
                        String tagName,
                        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.
tagName - 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
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

tag

protected TagScmResult tag(ScmProviderRepository repository,
                           ScmFileSet fileSet,
                           CommandParameters parameters)
                    throws ScmException
Throws:
ScmException

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

unedit

protected UnEditScmResult unedit(ScmProviderRepository repository,
                                 ScmFileSet fileSet,
                                 CommandParameters parameters)
                          throws ScmException
Throws:
ScmException

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag)
                       throws ScmException
Deprecated. 

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
Deprecated. 

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)
                       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 scmVersion)
                       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
scmVersion - 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 scmVersion,
                              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
scmVersion - 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,
                              String tag,
                              String datePattern)
                       throws ScmException
Deprecated. 

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,
                              ScmVersion scmVersion,
                              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
scmVersion - 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,
                              String tag,
                              Date lastUpdate)
                       throws ScmException
Deprecated. 

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,
                              ScmVersion scmVersion,
                              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
scmVersion - use the version defined by the branch/tag/revision
Returns:
Throws:
ScmException - if any

update

public UpdateScmResult update(ScmRepository repository,
                              ScmFileSet fileSet,
                              String tag,
                              Date lastUpdate,
                              String datePattern)
                       throws ScmException
Deprecated. 

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,
                              ScmVersion scmVersion,
                              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
scmVersion - 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

update

protected UpdateScmResult update(ScmProviderRepository repository,
                                 ScmFileSet fileSet,
                                 CommandParameters parameters)
                          throws ScmException
Throws:
ScmException

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

protected BlameScmResult blame(ScmProviderRepository repository,
                               ScmFileSet fileSet,
                               CommandParameters parameters)
                        throws ScmException
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

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

addListener

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

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

getLogger

public ScmLogger getLogger()

makeProviderScmRepository

public ScmProviderRepository makeProviderScmRepository(File path)
                                                throws ScmRepositoryException,
                                                       UnknownRepositoryStructure

Specified by:
makeProviderScmRepository in interface ScmProvider
Throws:
ScmRepositoryException
UnknownRepositoryStructure


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