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.- Author:
- Emmanuel Venisse
-
-
Field Summary
Fields Modifier and Type Field Description static StringCURRENT_WORKING_DIRECTORY-
Fields inherited from class org.apache.maven.scm.provider.AbstractScmProvider
logger
-
-
Constructor Summary
Constructors Constructor Description AbstractSvnScmProvider()
-
Method Summary
-
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 String CURRENT_WORKING_DIRECTORY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractSvnScmProvider
public AbstractSvnScmProvider()
-
-
Method Detail
-
getScmSpecificFilename
public 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(String scmSpecificUrl, char delimiter) throws ScmRepositoryException
- Throws:
ScmRepositoryException
-
makeProviderScmRepository
public ScmProviderRepository makeProviderScmRepository(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 String getRepositoryURL(File path) throws ScmException
- Throws:
ScmException
-
validateScmUrl
public List<String> validateScmUrl(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 String getScmType()
-
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
-
-