Class AbstractScmProvider
- java.lang.Object
-
- org.apache.maven.scm.provider.AbstractScmProvider
-
- All Implemented Interfaces:
ScmProvider
- Direct Known Subclasses:
AbstractGitScmProvider
,AbstractSvnScmProvider
,HgScmProvider
,LocalScmProvider
public abstract class AbstractScmProvider extends Object implements ScmProvider
- Author:
- Trygve Laugstøl, Emmanuel Venisse, Olivier Lamy
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description AbstractScmProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description AddScmResult
add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
TODO: why public? This should be protected, no?AddScmResult
add(ScmRepository repository, ScmFileSet fileSet)
Adds the given files to the source control systemAddScmResult
add(ScmRepository repository, ScmFileSet fileSet, String message)
Adds the given files to the source control systemAddScmResult
add(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters)
Adds the given files to the source control systemBlameScmResult
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 fileprotected 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 nameBranchScmResult
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 nameBranchScmResult
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 nameprotected ChangeLogScmResult
changelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
ChangeLogScmResult
changeLog(ChangeLogScmRequest request)
Returns the changes that have happened in the source control system in a certain period of time.ChangeLogScmResult
changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag)
Deprecated.ChangeLogScmResult
changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag, String datePattern)
Deprecated.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, Date startDate, Date endDate, int numDays, ScmBranch branch)
Returns the changes that have happened 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 happened 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 happened 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 happened in the source control system between two tags.protected CheckInScmResult
checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
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.CheckInScmResult
checkIn(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters)
Save the changes you have done into the repository.CheckInScmResult
checkIn(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, String message)
Save the changes you have done into the repository.protected CheckOutScmResult
checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
CheckOutScmResult
checkOut(ScmRepository repository, ScmFileSet fileSet)
Create a copy of the repository on your local machineCheckOutScmResult
checkOut(ScmRepository repository, ScmFileSet fileSet, 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.CheckOutScmResult
checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion)
Create a copy of the repository on your local machineCheckOutScmResult
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, ScmVersion scmVersion, CommandParameters commandParameters)
Create a copy of the repository on your local machine.protected DiffScmResult
diff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
DiffScmResult
diff(ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision)
Deprecated.DiffScmResult
diff(ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion)
Create a diff between two branch/tag/revision.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 machineExportScmResult
export(ScmRepository repository, ScmFileSet fileSet, String tag)
Deprecated.ExportScmResult
export(ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory)
Deprecated.ExportScmResult
export(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion)
Create an exported copy of the repository on your local machineExportScmResult
export(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, String outputDirectory)
Create an exported copy of the repository on your local machineString
getScmSpecificFilename()
Returns the scm reserved file name where the SCM stores information like '.git', '.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, String tag)
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.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 systemboolean
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 tagTagScmResult
tag(ScmRepository repository, ScmFileSet fileSet, String tagName, String message)
Tag (or label in some systems) will tag the source file with a certain tagTagScmResult
tag(ScmRepository repository, ScmFileSet fileSet, String tagName, ScmTagParameters scmTagParameters)
Tag (or label in some systems) will tag the source file with a certain tagprotected UnEditScmResult
unedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)
UnEditScmResult
unedit(ScmRepository repository, ScmFileSet fileSet)
Make a file no longer editable.UntagScmResult
untag(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters)
Deletes a tag.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 repositoryUpdateScmResult
update(ScmRepository repository, ScmFileSet fileSet, boolean runChangelog)
Updates the copy on the local machine with the changes in the repositoryUpdateScmResult
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, String datePattern)
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, ScmVersion scmVersion)
Updates the copy on the local machine with the changes in the repositoryUpdateScmResult
update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, boolean runChangelog)
Updates the copy on the local machine with the changes in the repositoryUpdateScmResult
update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, String datePattern)
Updates the copy on the local machine with the changes in the repositoryUpdateScmResult
update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, Date lastUpdate)
Updates the copy on the local machine with the changes in the repositoryUpdateScmResult
update(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, Date lastUpdate, String datePattern)
Updates the copy on the local machine with the changes in the repositoryList<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, setInteractive
-
-
-
-
Field Detail
-
logger
protected final org.slf4j.Logger logger
-
-
Constructor Detail
-
AbstractScmProvider
public AbstractScmProvider()
-
-
Method Detail
-
getScmSpecificFilename
public String getScmSpecificFilename()
Returns the scm reserved file name where the SCM stores information like '.git', '.svn'.- Specified by:
getScmSpecificFilename
in interfaceScmProvider
- Returns:
- the scm reserved file name
-
sanitizeTagName
public String sanitizeTagName(String tag)
Given a tag name, make it suitable for this SCM provider.- Specified by:
sanitizeTagName
in interfaceScmProvider
- 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 interfaceScmProvider
- 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 interfaceScmProvider
- Parameters:
scmSpecificUrl
- The SCM urldelimiter
- 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 interfaceScmProvider
-
add
public AddScmResult add(ScmRepository repository, ScmFileSet fileSet) throws ScmException
Adds the given files to the source control system- Specified by:
add
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to be addedmessage
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to be addedparameters
-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
TODO: why public? This should be protected, no?- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to branch. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.branchName
- the branch name to apply to the files- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to branch. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.branchName
- the branch name to apply to the filesmessage
- the commit message used for the tag creation- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to branch. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.branchName
- the branch name to apply to the filesscmBranchParameters
- TODO- Returns:
- TODO
- Throws:
ScmException
- if any
-
branch
protected BranchScmResult branch(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Throws:
ScmException
-
changeLog
@Deprecated public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, String branch) throws ScmException
Deprecated.Returns the changes that have happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startDate
- the start date of the periodendDate
- the end date of the periodnumDays
- the number days before the current time if startdate and enddate are nullbranch
- the branch/tag name- Returns:
- The SCM result of the changelog command
- Throws:
ScmException
- if any
-
changeLog
@Deprecated 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 happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startDate
- the start date of the periodendDate
- the end date of the periodnumDays
- the number days before the current time if startdate and enddate are nullbranch
- the branch/tag namedatePattern
- 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 happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startDate
- the start date of the periodendDate
- the end date of the periodnumDays
- the number days before the current time if startdate and enddate are nullbranch
- 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 happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startDate
- the start date of the periodendDate
- the end date of the periodnumDays
- the number days before the current time if startDate and endDate are nullbranch
- the branch/tagdatePattern
- 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 happened in the source control system in a certain period of time. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
request
- request wrapping detailed parameters for the changelog command- Returns:
- The SCM result of the changelog command
- Throws:
ScmException
- if any
-
changeLog
@Deprecated public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag) throws ScmException
Deprecated.Returns the changes that have happened in the source control system between two tags. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startTag
- the start tagendTag
- the end tag- Returns:
- The SCM result of the changelog command
- Throws:
ScmException
- if any
-
changeLog
@Deprecated public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag, String datePattern) throws ScmException
Deprecated.Returns the changes that have happened in the source control system between two tags. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startTag
- the start tagendTag
- the end tagdatePattern
- the date pattern use in changelog output returned by scm tool- Returns:
- TODO
- Throws:
ScmException
- if any
-
changeLog
public ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion) throws ScmException
Returns the changes that have happened in the source control system between two tags. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startVersion
- the start branch/tag/revisionendVersion
- 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 happened in the source control system between two tags. This can be adding, removing, updating, ... of files- Specified by:
changeLog
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.startVersion
- the start revisionendVersion
- the end revisiondatePattern
- the date pattern use in changelog output returned by scm tool- Returns:
- TODO
- Throws:
ScmException
- if any
-
changelog
protected ChangeLogScmResult changelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Throws:
ScmException
-
checkIn
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to check in (sometimes called commit)tag
- tag or revisionmessage
- a string that is a comment on the changes that where done- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to check in (sometimes called commit)message
- a string that is a comment on the changes that where done- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to check in (sometimes called commit)scmVersion
- branch/tag/revisionmessage
- a string that is a comment on the changes that where done- Returns:
- TODO
- Throws:
ScmException
- if any
-
checkIn
public CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
Description copied from interface:ScmProvider
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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to check in (sometimes called commit)parameters
-CommandParameters
- Returns:
- TODO
- Throws:
ScmException
- if any
-
checkin
protected CheckInScmResult checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Throws:
ScmException
-
checkOut
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationtag
- get the version defined by the tag- Returns:
- TODO
- Throws:
ScmException
- if any
-
checkOut
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationtag
- tag or revisionrecursive
- whether to check out recursively- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
location- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationscmVersion
- get the version defined by the revision, branch or tag- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationrecursive
- whether to check out recursively- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationscmVersion
- get the version defined by the revision, branch or tagrecursive
- whether to check out recursively- Returns:
- TODO
- Throws:
ScmException
- if any
-
checkOut
public CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, CommandParameters commandParameters) throws ScmException
Description copied from interface:ScmProvider
Create a copy of the repository on your local machine.- Specified by:
checkOut
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationscmVersion
- get the version defined by the revision, branch or tagcommandParameters
- parameters- Returns:
- TODO
- Throws:
ScmException
- if any
-
checkout
protected CheckOutScmResult checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Throws:
ScmException
-
diff
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationstartRevision
- the start revisionendRevision
- the end revision- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationstartVersion
- the start branch/tag/revisionendVersion
- the end branch/tag/revision- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to make editable- Returns:
- TODO
- Throws:
ScmException
- if any
-
edit
protected EditScmResult edit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Throws:
ScmException
-
export
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationtag
- get the version defined by the tag- Returns:
- TODO
- Throws:
ScmException
- if any
-
export
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationtag
- get the version defined by the tagoutputDirectory
- the directory where the export will be stored- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
location- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationscmVersion
- get the version defined by the branch/tag/revision- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files are copied to theScmFileSet.getBasedir()
locationscmVersion
- get the version defined by the branch/tag/revisionoutputDirectory
- the directory where the export will be stored- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to listrecursive
- descend recursivelytag
- use the version defined by the tag- Returns:
- the list of files in the repository
- Throws:
ScmException
- if any
-
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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to listrecursive
- descend recursivelyscmVersion
- 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 systemfileSet
- the files to listparameters
- TODO- Returns:
- The list of files in the repository
- Throws:
NoSuchCommandScmException
- unless overriden by subclassScmException
- 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 interfaceScmProvider
- Parameters:
repository
- TODOfileSet
- TODOmessage
- TODOcreateInLocal
- TODO- Returns:
- TODO
- Throws:
ScmException
- if any
-
mkdir
protected MkdirScmResult mkdir(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
Create directory/directories in the repository.- Parameters:
repository
- TODOfileSet
- TODOparameters
- TODO- Returns:
- TODO
- Throws:
ScmException
- if any
-
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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to be removedmessage
- TODO- Returns:
- TODO
- 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 theScmFileStatus
flags.- Specified by:
status
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to know the status about. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to tag. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.tagName
- the tag name to apply to the files- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to tag. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.tagName
- the tag name to apply to the filesmessage
- the commit message used for the tag creation- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to tag. Implementations can also give the changes from theScmFileSet.getBasedir()
downwards.tagName
- the tag name to apply to the filesscmTagParameters
- bean to pass some paramters for taggingScmTagParameters
- Returns:
- TODO
- 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 ofScmProvider.edit( org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet)
. It makes the file read-only again.- Specified by:
unedit
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- the files to make uneditable- Returns:
- TODO
- Throws:
ScmException
- if any
-
unedit
protected UnEditScmResult unedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Throws:
ScmException
-
untag
public UntagScmResult untag(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
Deletes a tag.- Specified by:
untag
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- a fileset with the relevant working directory as basedirparameters
- TODO- Returns:
- TODO
- Throws:
ScmException
- if any
-
update
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copytag
- use the version defined by the tag- Returns:
- TODO
- Throws:
ScmException
- if any
-
update
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copytag
- use the version defined by the tagrunChangelog
- Run the changelog command after the update- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copy- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyscmVersion
- use the version defined by the branch/tag/revision- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyrunChangelog
- Run the changelog command after the update- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyscmVersion
- use the version defined by the branch/tag/revisionrunChangelog
- Run the changelog command after the update- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copytag
- use the version defined by the tagdatePattern
- the date pattern use in changelog output returned by scm tool- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyscmVersion
- use the version defined by the branch/tag/revisiondatePattern
- the date pattern use in changelog output returned by scm tool- Returns:
- TODO
- Throws:
ScmException
- if any
-
update
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copytag
- use the version defined by the taglastUpdate
- TODO- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyscmVersion
- use the version defined by the branch/tag/revisionlastUpdate
- TODO- Returns:
- TODO
- Throws:
ScmException
- if any
-
update
@Deprecated 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copytag
- use the version defined by the taglastUpdate
- Date of last updatedatePattern
- the date pattern use in changelog output returned by scm tool- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyscmVersion
- use the version defined by the branch/tag/revisionlastUpdate
- Date of last updatedatePattern
- the date pattern use in changelog output returned by scm tool- Returns:
- TODO
- 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 interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyfilename
- file- Returns:
- blame for specified file
- Throws:
ScmException
- if any
-
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 interfaceScmProvider
- Parameters:
blameScmRequest
- TODO- Returns:
- blame for the file specified in the request
- Throws:
ScmException
- if any
-
info
public InfoScmResult info(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Specified by:
info
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- location of your local copyparameters
- some parameters (not use currently but for future use)- Returns:
- if the scm implementation doesn't support "info" result will
null
- Throws:
ScmException
- if any
-
remoteInfo
public RemoteInfoScmResult remoteInfo(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Specified by:
remoteInfo
in interfaceScmProvider
- Parameters:
repository
- the source control systemfileSet
- not use currently but for future useparameters
- some parameters (not use currently but for future use)- Returns:
- if the scm implementation doesn't support "info" result will
null
- Throws:
ScmException
- if any
-
makeProviderScmRepository
public ScmProviderRepository makeProviderScmRepository(File path) throws ScmRepositoryException, UnknownRepositoryStructure
- Specified by:
makeProviderScmRepository
in interfaceScmProvider
- Throws:
ScmRepositoryException
UnknownRepositoryStructure
-
-