public abstract class AbstractScmManager extends Object implements ScmManager
Modifier and Type | Field and Description |
---|---|
protected org.slf4j.Logger |
logger |
Constructor and Description |
---|
AbstractScmManager() |
Modifier and Type | Method and Description |
---|---|
AddScmResult |
add(ScmRepository repository,
ScmFileSet fileSet)
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
|
protected void |
addScmProvider(String providerType,
ScmProvider provider)
Deprecated.
use
setScmProvider(String, ScmProvider) instead |
BlameScmResult |
blame(BlameScmRequest blameScmRequest) |
BlameScmResult |
blame(ScmRepository repository,
ScmFileSet fileSet,
String filename)
Returns the blame of specified file
|
BranchScmResult |
branch(ScmRepository repository,
ScmFileSet fileSet,
String branchName)
Branch (or label in some systems) will create a branch of the source file with a certain branch name
|
BranchScmResult |
branch(ScmRepository repository,
ScmFileSet fileSet,
String branchName,
String message)
Branch (or label in some systems) will create a branch of the source file with a certain branch name
|
ChangeLogScmResult |
changeLog(ChangeLogScmRequest scmRequest)
Returns the changes that have happend in the source control system in a certain period of time.
|
ChangeLogScmResult |
changeLog(ScmRepository repository,
ScmFileSet fileSet,
Date startDate,
Date endDate,
int numDays,
ScmBranch branch)
Returns the changes that have happend in the source control system in a certain period of time.
|
ChangeLogScmResult |
changeLog(ScmRepository repository,
ScmFileSet fileSet,
Date startDate,
Date endDate,
int numDays,
ScmBranch branch,
String datePattern)
Returns the changes that have happend in the source control system in a certain period of time.
|
ChangeLogScmResult |
changeLog(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion startVersion,
ScmVersion endVersion)
Returns the changes that have happend in the source control system between two tags.
|
ChangeLogScmResult |
changeLog(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion startRevision,
ScmVersion endRevision,
String datePattern)
Returns the changes that have happend in the source control system between two tags.
|
CheckInScmResult |
checkIn(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion revision,
String message)
Save the changes you have done into the repository.
|
CheckInScmResult |
checkIn(ScmRepository repository,
ScmFileSet fileSet,
String message)
Save the changes you have done into the repository.
|
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 version)
Create a copy of the repository on your local machine
|
CheckOutScmResult |
checkOut(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version,
boolean recursive)
Create a copy of the repository on your local machine.
|
protected String |
cleanScmUrl(String scmUrl)
Clean the SCM url by removing all ../ in path
|
DiffScmResult |
diff(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion startVersion,
ScmVersion endVersion)
Create a diff between two branch/tag/revision.
|
EditScmResult |
edit(ScmRepository repository,
ScmFileSet fileSet)
Make a file editable.
|
ExportScmResult |
export(ScmRepository repository,
ScmFileSet fileSet)
Create an exported copy of the repository on your local machine
|
ExportScmResult |
export(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version)
Create an exported copy of the repository on your local machine
|
ExportScmResult |
export(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version,
String outputDirectory)
Create an exported copy of the repository on your local machine
|
ExportScmResult |
export(ScmRepository repository,
ScmFileSet fileSet,
String outputDirectory)
Create an exported copy of the repository on your local machine
|
ScmProvider |
getProviderByRepository(ScmRepository repository) |
ScmProvider |
getProviderByType(String providerType)
Returns the default provider registered for this providerType or a specific implementation if the
'maven.scm.provider.providerType.implementation' system property is defined.
|
ScmProvider |
getProviderByUrl(String scmUrl) |
ListScmResult |
list(ScmRepository repository,
ScmFileSet fileSet,
boolean recursive,
ScmVersion version)
List each element (files and directories) of fileSet as they exist in the repository.
|
ScmRepository |
makeProviderScmRepository(String providerType,
File path) |
ScmRepository |
makeScmRepository(String scmUrl)
Generate a SCMRepository from a SCM url.
|
MkdirScmResult |
mkdir(ScmRepository repository,
ScmFileSet fileSet,
String message,
boolean createInLocal)
Create new directory/directories in the repository.
|
RemoveScmResult |
remove(ScmRepository repository,
ScmFileSet fileSet,
String message)
Removes the given files from the source control system
|
void |
setScmProvider(String providerType,
ScmProvider provider)
Set a provider to be used for a type of SCM.
|
void |
setScmProviderImplementation(String providerType,
String providerImplementation)
Set the provider implementation
|
protected void |
setScmProviders(Map<String,ScmProvider> providers) |
StatusScmResult |
status(ScmRepository repository,
ScmFileSet fileSet)
Returns the status of the files in the source control system.
|
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,
String message)
Tag (or label in some systems) will tag the source file with a certain tag
|
UnEditScmResult |
unedit(ScmRepository repository,
ScmFileSet fileSet)
Make a file no longer editable.
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
boolean runChangelog)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
Date lastUpdate)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
Date lastUpdate,
String datePattern)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version,
boolean runChangelog)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version,
Date lastUpdate)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version,
Date lastUpdate,
String datePattern)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
ScmVersion version,
String datePattern)
Updates the copy on the local machine with the changes in the repository
|
UpdateScmResult |
update(ScmRepository repository,
ScmFileSet fileSet,
String datePattern)
Updates the copy on the local machine with the changes in the repository
|
List<String> |
validateScmRepository(String scmUrl)
Validate a SCM URL.
|
protected final org.slf4j.Logger logger
public AbstractScmManager()
protected void setScmProviders(Map<String,ScmProvider> providers)
@Deprecated protected void addScmProvider(String providerType, ScmProvider provider)
setScmProvider(String, ScmProvider)
insteadproviderType
- the type of SCM, eg. svn
, git
provider
- the provider that will be used for that SCM typepublic void setScmProvider(String providerType, ScmProvider provider)
setScmProvider
in interface ScmManager
providerType
- the type of SCM, eg. svn
, git
provider
- the provider that will be used for that SCM typepublic ScmProvider getProviderByUrl(String scmUrl) throws ScmRepositoryException, NoSuchScmProviderException
getProviderByUrl
in interface ScmManager
ScmRepositoryException
NoSuchScmProviderException
public void setScmProviderImplementation(String providerType, String providerImplementation)
setScmProviderImplementation
in interface ScmManager
providerType
- The provider type, eg. git
providerImplementation
- The provider implementation (the role-hint of the provider), eg. git
,
svn
public ScmProvider getProviderByType(String providerType) throws NoSuchScmProviderException
getProviderByType
in interface ScmManager
providerType
- The provider type (git, svn...)NoSuchScmProviderException
- if the provider doesn't existpublic ScmProvider getProviderByRepository(ScmRepository repository) throws NoSuchScmProviderException
getProviderByRepository
in interface ScmManager
NoSuchScmProviderException
public ScmRepository makeScmRepository(String scmUrl) throws ScmRepositoryException, NoSuchScmProviderException
makeScmRepository
in interface ScmManager
scmUrl
- the scm urlScmRepositoryException
- if an error occurs in the scm repository constructionNoSuchScmProviderException
- if the provider doesn't existprotected String cleanScmUrl(String scmUrl)
scmUrl
- the SCM urlpublic ScmRepository makeProviderScmRepository(String providerType, File path) throws ScmRepositoryException, UnknownRepositoryStructure, NoSuchScmProviderException
makeProviderScmRepository
in interface ScmManager
ScmRepositoryException
UnknownRepositoryStructure
NoSuchScmProviderException
public List<String> validateScmRepository(String scmUrl)
validateScmRepository
in interface ScmManager
scmUrl
- the SCM URL to validateList
of String
objects with the messages returned by the SCM providerpublic AddScmResult add(ScmRepository repository, ScmFileSet fileSet) throws ScmException
add
in interface ScmManager
repository
- the source control systemfileSet
- the files to be addedAddScmResult
that contains the file paths (relative to fileSet.getBasedir()
) that
have been addedScmException
- if anypublic AddScmResult add(ScmRepository repository, ScmFileSet fileSet, String message) throws ScmException
add
in interface ScmManager
repository
- the source control systemfileSet
- the files to be addedmessage
- a string that is a comment on the new added fileAddScmResult
that contains the file paths (relative to fileSet.getBasedir()
) that
have been addedScmException
- if anypublic BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName) throws ScmException
branch
in interface ScmManager
repository
- the source control systemfileSet
- the files to branch. Implementations can also give the changes from the
ScmFileSet.getBasedir()
downwards.branchName
- the branch name to apply to the filesScmException
- if anypublic BranchScmResult branch(ScmRepository repository, ScmFileSet fileSet, String branchName, String message) throws ScmException
branch
in interface ScmManager
repository
- the source control systemfileSet
- the files to branch. Implementations can also give the changes from the
ScmFileSet.getBasedir()
downwards.branchName
- the branch name to apply to the filesmessage
- the commit message used for the tag creationScmException
- if anypublic ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, ScmBranch branch) throws ScmException
changeLog
in interface ScmManager
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from the
ScmFileSet.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/tagScmException
- if anypublic ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, ScmBranch branch, String datePattern) throws ScmException
changeLog
in interface ScmManager
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from the
ScmFileSet.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 toolScmException
- if anypublic ChangeLogScmResult changeLog(ChangeLogScmRequest scmRequest) throws ScmException
changeLog
in interface ScmManager
scmRequest
- request wrapping detailed parameters for the changelog commandScmException
- if anypublic ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion) throws ScmException
changeLog
in interface ScmManager
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from the
ScmFileSet.getBasedir()
downwards.startVersion
- the start branch/tag/revisionendVersion
- the end branch/tag/revisionScmException
- if anypublic ChangeLogScmResult changeLog(ScmRepository repository, ScmFileSet fileSet, ScmVersion startRevision, ScmVersion endRevision, String datePattern) throws ScmException
changeLog
in interface ScmManager
repository
- the source control systemfileSet
- the files to know the changes about. Implementations can also give the changes from the
ScmFileSet.getBasedir()
downwards.startRevision
- the start revisionendRevision
- the end revisiondatePattern
- the date pattern use in changelog output returned by scm toolScmException
- if anypublic CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, String message) throws ScmException
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.
checkIn
in interface ScmManager
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 doneCheckInScmResult
that contains the file paths (relative to fileSet.getBasedir()
) that
have been checked in.ScmException
- if anypublic CheckInScmResult checkIn(ScmRepository repository, ScmFileSet fileSet, ScmVersion revision, String message) throws ScmException
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.
checkIn
in interface ScmManager
repository
- the source control systemfileSet
- the files to check in (sometimes called commit)revision
- branch/tag/revisionmessage
- a string that is a comment on the changes that where doneCheckInScmResult
that contains the file paths (relative to fileSet.getBasedir()
) that
have been checked in.ScmException
- if anypublic CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet) throws ScmException
checkOut
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationScmException
- if anypublic CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion version) throws ScmException
checkOut
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationversion
- get the version defined by the revision, branch or tagScmException
- if anypublic CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, boolean recursive) throws ScmException
checkOut
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationrecursive
- whether to check out recursivelyScmException
- if anypublic CheckOutScmResult checkOut(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, boolean recursive) throws ScmException
checkOut
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationversion
- get the version defined by the revision, branch or tagrecursive
- whether to check out recursivelyScmException
- if anypublic DiffScmResult diff(ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion, ScmVersion endVersion) throws ScmException
diff
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationstartVersion
- the start branch/tag/revisionendVersion
- the end branch/tag/revisionScmException
- if anypublic EditScmResult edit(ScmRepository repository, ScmFileSet fileSet) throws ScmException
edit
in interface ScmManager
repository
- the source control systemfileSet
- the files to make editableScmException
- if anypublic ExportScmResult export(ScmRepository repository, ScmFileSet fileSet) throws ScmException
export
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationScmException
- if anypublic ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion version) throws ScmException
export
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationversion
- get the version defined by the branch/tag/revisionScmException
- if anypublic ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, String outputDirectory) throws ScmException
export
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationoutputDirectory
- the directory where the export will be storedScmException
- if anypublic ExportScmResult export(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String outputDirectory) throws ScmException
export
in interface ScmManager
repository
- the source control systemfileSet
- the files are copied to the ScmFileSet.getBasedir()
locationversion
- get the version defined by the branch/tag/revisionoutputDirectory
- the directory where the export will be storedScmException
- if anypublic ListScmResult list(ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion version) throws ScmException
list
in interface ScmManager
repository
- the source control systemfileSet
- the files to listrecursive
- descend recursivelyversion
- use the version defined by the branch/tag/revisionScmException
- if anypublic MkdirScmResult mkdir(ScmRepository repository, ScmFileSet fileSet, String message, boolean createInLocal) throws ScmException
mkdir
in interface ScmManager
repository
- TODOfileSet
- TODOmessage
- TODOcreateInLocal
- TODOScmException
- if anypublic RemoveScmResult remove(ScmRepository repository, ScmFileSet fileSet, String message) throws ScmException
remove
in interface ScmManager
repository
- the source control systemfileSet
- the files to be removedmessage
- TODORemoveScmResult
that contains the file paths (relative to fileSet.getBasedir()
) that
have been removedScmException
- if anypublic StatusScmResult status(ScmRepository repository, ScmFileSet fileSet) throws ScmException
ScmFileStatus
flags.status
in interface ScmManager
repository
- the source control systemfileSet
- the files to know the status about. Implementations can also give the changes from the
ScmFileSet.getBasedir()
downwards.ScmException
- if anypublic TagScmResult tag(ScmRepository repository, ScmFileSet fileSet, String tagName) throws ScmException
tag
in interface ScmManager
repository
- the source control systemfileSet
- the files to tag. Implementations can also give the changes from the
ScmFileSet.getBasedir()
downwards.tagName
- the tag name to apply to the filesScmException
- if anypublic TagScmResult tag(ScmRepository repository, ScmFileSet fileSet, String tagName, String message) throws ScmException
tag
in interface ScmManager
repository
- the source control systemfileSet
- the files to tag. Implementations can also give the changes from the
ScmFileSet.getBasedir()
downwards.tagName
- the tag name to apply to the filesmessage
- the commit message used for the tag creationScmException
- if anypublic UnEditScmResult unedit(ScmRepository repository, ScmFileSet fileSet) throws ScmException
ScmManager.edit(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet)
. It makes the file
read-only again.unedit
in interface ScmManager
repository
- the source control systemfileSet
- the files to make uneditableScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyversion
- use the version defined by the branch/tag/revisionScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, boolean runChangelog) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyrunChangelog
- Run the changelog command after the updateScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, boolean runChangelog) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyversion
- use the version defined by the branch/tag/revisionrunChangelog
- Run the changelog command after the updateScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, String datePattern) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copydatePattern
- the date pattern use in changelog output returned by scm toolScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, String datePattern) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyversion
- use the version defined by the branch/tag/revisiondatePattern
- the date pattern use in changelog output returned by scm toolScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, Date lastUpdate) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copylastUpdate
- TODOScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyversion
- use the version defined by the branch/tag/revisionlastUpdate
- TODOScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, Date lastUpdate, String datePattern) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copylastUpdate
- Date of last updatedatePattern
- the date pattern use in changelog output returned by scm toolScmException
- if anypublic UpdateScmResult update(ScmRepository repository, ScmFileSet fileSet, ScmVersion version, Date lastUpdate, String datePattern) throws ScmException
update
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyversion
- use the version defined by the branch/tag/revisionlastUpdate
- Date of last updatedatePattern
- the date pattern use in changelog output returned by scm toolScmException
- if anypublic BlameScmResult blame(ScmRepository repository, ScmFileSet fileSet, String filename) throws ScmException
blame
in interface ScmManager
repository
- the source control systemfileSet
- location of your local copyfilename
- fileScmException
- if anypublic BlameScmResult blame(BlameScmRequest blameScmRequest) throws ScmException
blame
in interface ScmManager
blameScmRequest
- TODOScmException
- if anyCopyright © 2003–2024 The Apache Software Foundation. All rights reserved.