Class AbstractSvnScmProvider
- java.lang.Object
-
- org.apache.maven.scm.provider.AbstractScmProvider
-
- org.apache.maven.scm.provider.svn.AbstractSvnScmProvider
-
- All Implemented Interfaces:
ScmProvider
- Direct Known Subclasses:
SvnExeScmProvider
public abstract class AbstractSvnScmProvider extends AbstractScmProvider
SCM Provider for Subversion.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classAbstractSvnScmProvider.ScmUrlParserResult
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCURRENT_WORKING_DIRECTORY-
Fields inherited from class org.apache.maven.scm.provider.AbstractScmProvider
logger
-
-
Constructor Summary
Constructors Constructor Description AbstractSvnScmProvider()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AddScmResultadd(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)TODO: why public? This should be protected, no?protected BlameScmResultblame(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)protected BranchScmResultbranch(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)ChangeLogScmResultchangelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)private booleancheckCurrentWorkingDirectoryUrl()CheckInScmResultcheckin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)CheckOutScmResultcheckout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)DiffScmResultdiff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)protected ScmResultexecuteCommand(SvnCommand command, ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)protected ExportScmResultexport(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)private java.lang.StringfindUrlInfoItem(InfoScmResult infoScmResult)protected abstract SvnCommandgetAddCommand()protected abstract SvnCommandgetBlameCommand()protected abstract SvnCommandgetBranchCommand()protected abstract SvnCommandgetChangeLogCommand()protected abstract SvnCommandgetCheckInCommand()protected abstract SvnCommandgetCheckOutCommand()protected abstract SvnCommandgetDiffCommand()protected abstract SvnCommandgetExportCommand()protected abstract SvnCommandgetInfoCommand()protected abstract SvnCommandgetListCommand()protected abstract SvnCommandgetMkdirCommand()protected abstract SvnCommandgetRemoveCommand()protected abstract java.lang.StringgetRepositoryURL(java.io.File path)java.lang.StringgetScmSpecificFilename()Returns the scm reserved file name where the SCM stores information like '.git', '.svn'.java.lang.StringgetScmType()protected abstract SvnCommandgetStatusCommand()protected abstract SvnCommandgetTagCommand()protected abstract SvnCommandgetUntagCommand()protected abstract SvnCommandgetUpdateCommand()InfoScmResultinfo(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)ListScmResultlist(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)List each element (files and directories) of fileSet as they exist in the repository.ScmProviderRepositorymakeProviderScmRepository(java.io.File path)Try to create aScmProviderRepositoryfor this provider from the given working directory (created through a previous checkout).ScmProviderRepositorymakeProviderScmRepository(java.lang.String scmSpecificUrl, char delimiter)MkdirScmResultmkdir(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)Create directory/directories in the repository.private AbstractSvnScmProvider.ScmUrlParserResultparseScmUrl(java.lang.String scmSpecificUrl)abstract booleanremoteUrlExist(ScmProviderRepository repository, CommandParameters parameters)RemoveScmResultremove(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)StatusScmResultstatus(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)TagScmResulttag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)UntagScmResultuntag(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters)Deletes a tag.UpdateScmResultupdate(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters)java.util.List<java.lang.String>validateScmUrl(java.lang.String scmSpecificUrl, char delimiter)Validate the scm url.-
Methods inherited from class org.apache.maven.scm.provider.AbstractScmProvider
add, add, add, blame, blame, branch, branch, branch, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, checkIn, checkIn, checkIn, checkIn, checkOut, checkOut, checkOut, checkOut, checkOut, checkOut, checkOut, diff, diff, edit, edit, export, export, export, export, export, list, list, login, mkdir, remoteInfo, remove, requiresEditMode, sanitizeTagName, status, tag, tag, tag, unedit, unedit, update, update, update, update, update, update, update, update, update, update, update, update, validateTagName
-
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
setInteractive
-
-
-
-
Field Detail
-
CURRENT_WORKING_DIRECTORY
public static final java.lang.String CURRENT_WORKING_DIRECTORY
- See Also:
- Constant Field Values
-
-
Method Detail
-
getScmSpecificFilename
public java.lang.String getScmSpecificFilename()
Returns the scm reserved file name where the SCM stores information like '.git', '.svn'.- Specified by:
getScmSpecificFilenamein interfaceScmProvider- Overrides:
getScmSpecificFilenamein classAbstractScmProvider- Returns:
- the scm reserved file name
-
makeProviderScmRepository
public ScmProviderRepository makeProviderScmRepository(java.lang.String scmSpecificUrl, char delimiter) throws ScmRepositoryException
- Throws:
ScmRepositoryException
-
checkCurrentWorkingDirectoryUrl
private boolean checkCurrentWorkingDirectoryUrl()
-
findUrlInfoItem
private java.lang.String findUrlInfoItem(InfoScmResult infoScmResult)
-
makeProviderScmRepository
public ScmProviderRepository makeProviderScmRepository(java.io.File path) throws ScmRepositoryException, UnknownRepositoryStructure
Try to create aScmProviderRepositoryfor this provider from the given working directory (created through a previous checkout). This is only successful if the working directory is recognized by this SCM provider.- Specified by:
makeProviderScmRepositoryin interfaceScmProvider- Overrides:
makeProviderScmRepositoryin classAbstractScmProvider- Parameters:
path- the checkout(working) directory- Returns:
- the repository bound to this provider
- Throws:
ScmRepositoryException- in case the given directory does not contain a valid working directory recognized by this providerUnknownRepositoryStructure- in case the provider does not support this way of initializing an ScmProviderRepository
-
getRepositoryURL
protected abstract java.lang.String getRepositoryURL(java.io.File path) throws ScmException- Throws:
ScmException
-
validateScmUrl
public java.util.List<java.lang.String> validateScmUrl(java.lang.String scmSpecificUrl, char delimiter)Validate the scm url.- Specified by:
validateScmUrlin interfaceScmProvider- Overrides:
validateScmUrlin classAbstractScmProvider- Parameters:
scmSpecificUrl- the SCM urldelimiter- the delimiter used in the SCM url- Returns:
- returns a list of messages if the validation failed
-
getScmType
public java.lang.String getScmType()
-
parseScmUrl
private AbstractSvnScmProvider.ScmUrlParserResult parseScmUrl(java.lang.String scmSpecificUrl)
-
getAddCommand
protected abstract SvnCommand getAddCommand()
-
add
public AddScmResult add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
TODO: why public? This should be protected, no?- Overrides:
addin classAbstractScmProvider- Throws:
ScmException
-
getBranchCommand
protected abstract SvnCommand getBranchCommand()
-
branch
protected BranchScmResult branch(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
branchin classAbstractScmProvider- Throws:
ScmException
-
getChangeLogCommand
protected abstract SvnCommand getChangeLogCommand()
-
changelog
public ChangeLogScmResult changelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
changelogin classAbstractScmProvider- Throws:
ScmException
-
getCheckInCommand
protected abstract SvnCommand getCheckInCommand()
-
checkin
public CheckInScmResult checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
checkinin classAbstractScmProvider- Throws:
ScmException
-
getCheckOutCommand
protected abstract SvnCommand getCheckOutCommand()
-
checkout
public CheckOutScmResult checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
checkoutin classAbstractScmProvider- Throws:
ScmException
-
getDiffCommand
protected abstract SvnCommand getDiffCommand()
-
diff
public DiffScmResult diff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
diffin classAbstractScmProvider- Throws:
ScmException
-
getExportCommand
protected abstract SvnCommand getExportCommand()
-
export
protected ExportScmResult export(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
exportin classAbstractScmProvider- Throws:
ScmException
-
getRemoveCommand
protected abstract SvnCommand getRemoveCommand()
-
remove
public RemoveScmResult remove(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
removein classAbstractScmProvider- Throws:
ScmException
-
getStatusCommand
protected abstract SvnCommand getStatusCommand()
-
status
public StatusScmResult status(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
statusin classAbstractScmProvider- Throws:
ScmException
-
getTagCommand
protected abstract SvnCommand getTagCommand()
-
tag
public TagScmResult tag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
tagin classAbstractScmProvider- Throws:
ScmException
-
getUntagCommand
protected abstract SvnCommand getUntagCommand()
-
untag
public UntagScmResult untag(ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
Deletes a tag.- Specified by:
untagin interfaceScmProvider- Overrides:
untagin classAbstractScmProvider- Parameters:
repository- the source control systemfileSet- a fileset with the relevant working directory as basedirparameters- TODO- Returns:
- TODO
- Throws:
ScmException- if any
-
getUpdateCommand
protected abstract SvnCommand getUpdateCommand()
-
update
public UpdateScmResult update(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
updatein classAbstractScmProvider- Throws:
ScmException
-
executeCommand
protected ScmResult executeCommand(SvnCommand command, ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Throws:
ScmException
-
getListCommand
protected abstract SvnCommand getListCommand()
-
list
public ListScmResult list(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
List each element (files and directories) of fileSet as they exist in the repository.- Overrides:
listin classAbstractScmProvider- 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
-
getInfoCommand
protected abstract SvnCommand getInfoCommand()
-
info
public InfoScmResult info(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Specified by:
infoin interfaceScmProvider- Overrides:
infoin classAbstractScmProvider- 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
-
blame
protected BlameScmResult blame(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
- Overrides:
blamein classAbstractScmProvider- Throws:
ScmException
-
getBlameCommand
protected abstract SvnCommand getBlameCommand()
-
mkdir
public MkdirScmResult mkdir(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
Create directory/directories in the repository.- Overrides:
mkdirin classAbstractScmProvider- Parameters:
repository- TODOfileSet- TODOparameters- TODO- Returns:
- TODO
- Throws:
ScmException- if any
-
getMkdirCommand
protected abstract SvnCommand getMkdirCommand()
-
remoteUrlExist
public abstract boolean remoteUrlExist(ScmProviderRepository repository, CommandParameters parameters) throws ScmException
- Parameters:
repository-parameters-- Returns:
- true if remote url exists
- Throws:
ScmException- Since:
- 1.8
-
-