Class AbstractClientAdapter
java.lang.Object
org.tigris.subversion.svnclientadapter.AbstractClientAdapter
- All Implemented Interfaces:
ISVNClientAdapter
Default implementation of some of the methods of ISVNClientAdapter
- Author:
- Cédric Chabanois (cchabanois at no-log.org), Panagiotis Korros (pkorros at bigfoot.com)
-
Field Summary
Fields inherited from interface org.tigris.subversion.svnclientadapter.ISVNClientAdapter
DEFAULT_LOG_PROPERTIES, REPOSITORY_FSTYPE_BDB, REPOSITORY_FSTYPE_FSFS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddKeywords
(File path, SVNKeywords keywords) add some keyword to the keywords substitution listvoid
addPasswordCallback
(ISVNPromptUserPassword callback) Add a callback for prompting for username, password SSL etc...void
addToIgnoredPatterns
(File path, String pattern) add a pattern to svn:ignore propertyboolean
Indicates whether the commitAcrossWC method is supported in the adapterlong[]
commitAcrossWC
(File[] paths, String message, boolean recurse, boolean keepLocks, boolean Atomic) Commits changes to the repository.void
createPatch
(File[] paths, File relativeToPath, File outFile, boolean recurse) create a patch from local differences.void
display the combined differences for an array of paths.getIgnoredPatterns
(File path) get the ignored patterns for the given directory if path is not a directory, returns nullGet information about an URL.getKeywords
(File path) returns the keywords used for substitution for the given resourcegetLogMessages
(File arg0, SVNRevision arg1, SVNRevision arg2) Get the log messages for a set of revision(s)getLogMessages
(File path, SVNRevision revisionStart, SVNRevision revisionEnd, boolean fetchChangePath) Get the log messages for a set of revision(s)getLogMessages
(File path, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath) Retrieve the log messages for an itemgetLogMessages
(File path, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit) Retrieve the log messages for an itemgetLogMessages
(File path, SVNRevision pegRevision, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit, boolean includeMergedRevisions) Retrieve the log messages for an itemgetLogMessages
(SVNUrl url, String[] paths, SVNRevision revStart, SVNRevision revEnd, boolean stopOnCopy, boolean fetchChangePath) Get the log messages for a set paths and revision(s)getLogMessages
(SVNUrl arg0, SVNRevision arg1, SVNRevision arg2) Get the log messages for a set of revision(s)getLogMessages
(SVNUrl url, SVNRevision revisionStart, SVNRevision revisionEnd, boolean fetchChangePath) Get the log messages for a set of revision(s)getLogMessages
(SVNUrl url, SVNRevision pegRevision, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit) Retrieve the log messages for an itemgetLogMessages
(SVNUrl url, SVNRevision pegRevision, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit, boolean includeMergedRevisions) Retrieve the log messages for an itemstatic boolean
Answer whether running on Windows OS.void
merge
(SVNUrl path1, SVNRevision revision1, SVNUrl path2, SVNRevision revision2, File localPath, boolean force, boolean recurse) Merge changes from two paths into a new local path.void
merge
(SVNUrl path1, SVNRevision revision1, SVNUrl path2, SVNRevision revision2, File localPath, boolean force, boolean recurse, boolean dryRun) Merge changes from two paths into a new local path.void
Creates a directory directly in a repositoryprotected void
propertyGet
(SVNUrl url, String propertyName) get a property or null if property is not foundremoveKeywords
(File path, SVNKeywords keywords) remove some keywords to the keywords substitution listvoid
setIgnoredPatterns
(File path, List patterns) set the ignored patterns for the given directoryvoid
setKeywords
(File path, SVNKeywords keywords, boolean recurse) set the keywords substitution for the given resourceboolean
Indicates whether a status call that contacts the server includes the remote info in the status objectMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.tigris.subversion.svnclientadapter.ISVNClientAdapter
addConflictResolutionCallback, addDirectory, addDirectory, addFile, addNotifyListener, annotate, annotate, annotate, annotate, annotate, cancelOperation, checkout, checkout, cleanup, commit, commit, copy, copy, copy, copy, copy, copy, copy, copy, copy, createRepository, diff, diff, diff, diff, diff, diff, diff, diff, diff, diffSummarize, diffSummarize, diffSummarize, dispose, doExport, doExport, doImport, getAdminDirectoryName, getContent, getContent, getContent, getDirEntry, getDirEntry, getInfo, getInfo, getInfo, getInfoFromWorkingCopy, getList, getList, getList, getList, getListWithLocks, getLogMessages, getLogMessages, getMergeInfo, getMergeInfo, getMergeinfoLog, getMergeinfoLog, getNotificationHandler, getPostCommitError, getProperties, getProperties, getProperties, getProperties, getProperties, getPropertiesIncludingInherited, getPropertiesIncludingInherited, getPropertiesIncludingInherited, getPropertiesIncludingInherited, getRevProperties, getRevProperty, getSingleStatus, getStatus, getStatus, getStatus, getStatus, getStatus, getStatus, isAdminDirectory, isThreadsafe, lock, lock, merge, merge, merge, mergeReintegrate, mkdir, mkdir, move, move, propertyDel, propertyGet, propertyGet, propertySet, propertySet, propertySet, relocate, remove, remove, removeNotifyListener, resolve, resolved, revert, setConfigDirectory, setPassword, setProgressListener, setRevProperty, setUsername, suggestMergeSources, suggestMergeSources, switchToUrl, switchToUrl, switchToUrl, switchToUrl, unlock, unlock, update, update, update, update, upgrade
-
Constructor Details
-
AbstractClientAdapter
public AbstractClientAdapter()
-
-
Method Details
-
setKeywords
Description copied from interface:ISVNClientAdapter
set the keywords substitution for the given resource- Specified by:
setKeywords
in interfaceISVNClientAdapter
- Throws:
SVNClientException
-
addKeywords
Description copied from interface:ISVNClientAdapter
add some keyword to the keywords substitution list- Specified by:
addKeywords
in interfaceISVNClientAdapter
- Returns:
- keywords valid after this method call
- Throws:
SVNClientException
-
removeKeywords
Description copied from interface:ISVNClientAdapter
remove some keywords to the keywords substitution list- Specified by:
removeKeywords
in interfaceISVNClientAdapter
- Returns:
- keywords valid after this method call
- Throws:
SVNClientException
-
getIgnoredPatterns
Description copied from interface:ISVNClientAdapter
get the ignored patterns for the given directory if path is not a directory, returns null- Specified by:
getIgnoredPatterns
in interfaceISVNClientAdapter
- Returns:
- list of ignored patterns
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(File arg0, SVNRevision arg1, SVNRevision arg2) throws SVNClientException Description copied from interface:ISVNClientAdapter
Get the log messages for a set of revision(s)- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Returns:
- The list of log messages.
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(SVNUrl arg0, SVNRevision arg1, SVNRevision arg2) throws SVNClientException Description copied from interface:ISVNClientAdapter
Get the log messages for a set of revision(s)- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Returns:
- The list of log messages.
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(SVNUrl url, String[] paths, SVNRevision revStart, SVNRevision revEnd, boolean stopOnCopy, boolean fetchChangePath) throws SVNClientException Description copied from interface:ISVNClientAdapter
Get the log messages for a set paths and revision(s)- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Returns:
- The list of log messages.
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(File path, SVNRevision revisionStart, SVNRevision revisionEnd, boolean fetchChangePath) throws SVNClientException Description copied from interface:ISVNClientAdapter
Get the log messages for a set of revision(s)- Specified by:
getLogMessages
in interfaceISVNClientAdapter
fetchChangePath
- Whether or not to interogate the repository for the verbose log information containing the list of paths touched by the delta specified byrevisionStart
andrevisionEnd
. Setting this tofalse
results in a more performant and memory efficient operation.- Returns:
- The list of log messages.
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(File path, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath) throws SVNClientException Description copied from interface:ISVNClientAdapter
Retrieve the log messages for an item- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Parameters:
path
- path or url to get the log message for.revisionStart
- first revision to showrevisionEnd
- last revision to showstopOnCopy
- do not continue on copy operationsfetchChangePath
- returns the paths of the changed items in the returned objects- Returns:
- array of LogMessages
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(File path, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit) throws SVNClientException Description copied from interface:ISVNClientAdapter
Retrieve the log messages for an item- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Parameters:
path
- path to get the log message for.revisionStart
- first revision to showrevisionEnd
- last revision to showstopOnCopy
- do not continue on copy operationsfetchChangePath
- returns the paths of the changed items in the returned objectslimit
- limit the number of log messages (if 0 or less no limit)- Returns:
- array of LogMessages
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(SVNUrl url, SVNRevision revisionStart, SVNRevision revisionEnd, boolean fetchChangePath) throws SVNClientException Description copied from interface:ISVNClientAdapter
Get the log messages for a set of revision(s)- Specified by:
getLogMessages
in interfaceISVNClientAdapter
fetchChangePath
- Whether or not to interogate the repository for the verbose log information containing the list of paths touched by the delta specified byrevisionStart
andrevisionEnd
. Setting this tofalse
results in a more performant and memory efficient operation.- Returns:
- The list of log messages.
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(SVNUrl url, SVNRevision pegRevision, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit) throws SVNClientException Description copied from interface:ISVNClientAdapter
Retrieve the log messages for an item- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Parameters:
url
- url to get the log message for.pegRevision
- peg revision for URLrevisionStart
- first revision to showrevisionEnd
- last revision to showstopOnCopy
- do not continue on copy operationsfetchChangePath
- returns the paths of the changed items in the returned objectslimit
- limit the number of log messages (if 0 or less no limit)- Returns:
- array of LogMessages
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(File path, SVNRevision pegRevision, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit, boolean includeMergedRevisions) throws SVNClientException Description copied from interface:ISVNClientAdapter
Retrieve the log messages for an item- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Parameters:
path
- path to get the log message for.pegRevision
- peg revision for URLrevisionStart
- first revision to showrevisionEnd
- last revision to showstopOnCopy
- do not continue on copy operationsfetchChangePath
- returns the paths of the changed items in the returned objectslimit
- limit the number of log messages (if 0 or less no limit)includeMergedRevisions
- include revisions that were merged- Returns:
- array of LogMessages
- Throws:
SVNClientException
-
getLogMessages
public ISVNLogMessage[] getLogMessages(SVNUrl url, SVNRevision pegRevision, SVNRevision revisionStart, SVNRevision revisionEnd, boolean stopOnCopy, boolean fetchChangePath, long limit, boolean includeMergedRevisions) throws SVNClientException Description copied from interface:ISVNClientAdapter
Retrieve the log messages for an item- Specified by:
getLogMessages
in interfaceISVNClientAdapter
- Parameters:
url
- url to get the log message for.pegRevision
- peg revision for URLrevisionStart
- first revision to showrevisionEnd
- last revision to showstopOnCopy
- do not continue on copy operationsfetchChangePath
- returns the paths of the changed items in the returned objectslimit
- limit the number of log messages (if 0 or less no limit)includeMergedRevisions
- include revisions that were merged- Returns:
- array of LogMessages
- Throws:
SVNClientException
-
setIgnoredPatterns
Description copied from interface:ISVNClientAdapter
set the ignored patterns for the given directory- Specified by:
setIgnoredPatterns
in interfaceISVNClientAdapter
- Throws:
SVNClientException
-
addToIgnoredPatterns
Description copied from interface:ISVNClientAdapter
add a pattern to svn:ignore property- Specified by:
addToIgnoredPatterns
in interfaceISVNClientAdapter
- Throws:
SVNClientException
-
getKeywords
Description copied from interface:ISVNClientAdapter
returns the keywords used for substitution for the given resource- Specified by:
getKeywords
in interfaceISVNClientAdapter
- Returns:
- the keywords used for substitution
- Throws:
SVNClientException
-
addPasswordCallback
Description copied from interface:ISVNClientAdapter
Add a callback for prompting for username, password SSL etc...- Specified by:
addPasswordCallback
in interfaceISVNClientAdapter
-
statusReturnsRemoteInfo
public boolean statusReturnsRemoteInfo()Description copied from interface:ISVNClientAdapter
Indicates whether a status call that contacts the server includes the remote info in the status object- Specified by:
statusReturnsRemoteInfo
in interfaceISVNClientAdapter
- Returns:
- true when the client adapter implementation delivers remote info within status
-
commitAcrossWC
public long[] commitAcrossWC(File[] paths, String message, boolean recurse, boolean keepLocks, boolean Atomic) throws SVNClientException Description copied from interface:ISVNClientAdapter
Commits changes to the repository. This usually requires authentication, see Auth. This differs from the normal commit method in that it can accept paths from more than one working copy.- Specified by:
commitAcrossWC
in interfaceISVNClientAdapter
- Parameters:
paths
- files to commit.message
- log message.recurse
- whether the operation should be done recursively.keepLocks
- whether to keep locks on files that are committed.Atomic
- whether to attempt to perform the commit from multiple working copies atomically. Files from the same repository will be processed with one commit operation. If files span multiple repositories they will be processed in multiple commits. When atomic is false, you will get one commit per WC.- Returns:
- Returns an array of longs representing the revisions. It returns a -1 if the revision number is invalid.
- Throws:
SVNClientException
-
notImplementedYet
- Throws:
SVNClientException
-
canCommitAcrossWC
public boolean canCommitAcrossWC()Description copied from interface:ISVNClientAdapter
Indicates whether the commitAcrossWC method is supported in the adapter- Specified by:
canCommitAcrossWC
in interfaceISVNClientAdapter
- Returns:
- true when the client adapter implementation supports commitAcrossWC
-
mkdir
Description copied from interface:ISVNClientAdapter
Creates a directory directly in a repository- Specified by:
mkdir
in interfaceISVNClientAdapter
- Throws:
SVNClientException
-
isOsWindows
public static boolean isOsWindows()Answer whether running on Windows OS. (Actual code extracted from org.apache.commons.lang.SystemUtils.IS_OS_WINDOWS) (For such one simple method it does make sense to introduce dependency on whole commons-lang.jar)- Returns:
- true when the underlying
-
getInfo
Description copied from interface:ISVNClientAdapter
Get information about an URL. Uses info2() call which contacts the repository- Specified by:
getInfo
in interfaceISVNClientAdapter
- Returns:
- information about an URL.
- Throws:
SVNClientException
-
merge
public void merge(SVNUrl path1, SVNRevision revision1, SVNUrl path2, SVNRevision revision2, File localPath, boolean force, boolean recurse, boolean dryRun) throws SVNClientException Description copied from interface:ISVNClientAdapter
Merge changes from two paths into a new local path.- Specified by:
merge
in interfaceISVNClientAdapter
- Parameters:
path1
- first path or urlrevision1
- first revisionpath2
- second path or urlrevision2
- second revisionlocalPath
- target local pathforce
- overwrite local changesrecurse
- traverse into subdirectoriesdryRun
- do not update working copy- Throws:
SVNClientException
-
merge
public void merge(SVNUrl path1, SVNRevision revision1, SVNUrl path2, SVNRevision revision2, File localPath, boolean force, boolean recurse) throws SVNClientException Description copied from interface:ISVNClientAdapter
Merge changes from two paths into a new local path.- Specified by:
merge
in interfaceISVNClientAdapter
- Parameters:
path1
- first path or urlrevision1
- first revisionpath2
- second path or urlrevision2
- second revisionlocalPath
- target local pathforce
- overwrite local changesrecurse
- traverse into subdirectories- Throws:
SVNClientException
-
propertyGet
Description copied from interface:ISVNClientAdapter
get a property or null if property is not found- Specified by:
propertyGet
in interfaceISVNClientAdapter
- Returns:
- a property or null
- Throws:
SVNClientException
-
diff
Description copied from interface:ISVNClientAdapter
display the combined differences for an array of paths.- Specified by:
diff
in interfaceISVNClientAdapter
- Throws:
SVNClientException
-
createPatch
public void createPatch(File[] paths, File relativeToPath, File outFile, boolean recurse) throws SVNClientException Description copied from interface:ISVNClientAdapter
create a patch from local differences.- Specified by:
createPatch
in interfaceISVNClientAdapter
relativeToPath
- - create patch relative to this location- Throws:
SVNClientException
-