Class DAVRepository
- Version:
- 1.3
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate DAVConnectionprivate IHTTPConnectionFactoryprivate booleanprivate booleanprivate java.io.Fileprivate static booleanprivate static booleanFields inherited from class org.tmatesoft.svn.core.io.SVNRepository
INVALID_REVISION, myLocation, myRepositoryRoot, myRepositoryUUID -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDAVRepository(IHTTPConnectionFactory connectionFactory, SVNURL location, ISVNSession options) -
Method Summary
Modifier and TypeMethodDescriptioncheckPath(java.lang.String path, long revision) Returns the kind of an item located at the specified path in a particular revision.protected voidvoidCloses the current session closing a socket connection used by this object.protected DAVConnectioncreateDAVConnection(IHTTPConnectionFactory connectionFactory, DAVRepository repo) private SVNDirEntrycreateDirEntry(java.lang.String fullPath, DAVProperties child) voiddiff(SVNURL url, long targetRevision, long revision, java.lang.String target, boolean ignoreAncestry, SVNDepth depth, boolean getContents, ISVNReporterBaton reporter, ISVNEditor editor) Asks this repository access object to 'diff' a working copy againsttargetRevision.java.lang.StringdoGetFullPath(java.lang.String relativeOrRepositoryPath) private java.util.MapdoGetMergeInfo(java.lang.String[] paths, long revision, SVNMergeInfoInheritance inherit, boolean includeDescendants) protected java.lang.StringdoGetRepositoryPath(java.lang.String relativePath) getCommitEditor(java.lang.String logMessage, java.util.Map locks, boolean keepLocks, ISVNWorkspaceMediator mediator) Gets an editor for committing changes to a repository.protected ISVNEditorgetCommitEditorInternal(java.util.Map locks, boolean keepLocks, SVNProperties revProps, ISVNWorkspaceMediator mediator) protected DAVConnectionprotected IHTTPConnectionFactorylonggetDatedRevision(java.util.Date date) Returns the recent repository revision number for the particular moment in time - the closest one before or at the specified datestamp.protected longgetDeletedRevisionImpl(java.lang.String path, long pegRevision, long endRevision) getDir(java.lang.String path, long revision, boolean includeComments, java.util.Collection entries) Fetches the contents of a directory into the provided collection object and returns the directory entry itself.longgetDir(java.lang.String path, long revision, SVNProperties properties, int entryFields, ISVNDirEntryHandler handler) Fetches the contents and/or properties of a directory located at the specified path in a particular revision with the possibility to specify fields of the entry to fetch.longgetDir(java.lang.String path, long revision, SVNProperties properties, ISVNDirEntryHandler handler) Fetches the contents and/or properties of a directory located at the specified path in a particular revision.longgetFile(java.lang.String path, long revision, SVNProperties properties, java.io.OutputStream contents) Fetches the contents and/or properties of a file located at the specified path in a particular revision.longgetFile(java.lang.String path, long revision, SVNProperties properties, java.io.OutputStream contents, ISVNWorkingCopyContentMediator workingCopyContentMediator) protected intgetFileRevisionsImpl(java.lang.String path, long startRevision, long endRevision, boolean includeMergedRevisions, ISVNFileRevisionHandler handler) protected voidgetInheritedPropertiesImpl(java.lang.String path, long revision, java.lang.String propertyName, ISVNInheritedPropertiesHandler handler) longReturns the number of the latest revision of the repository this driver is working with.protected longgetLocationSegmentsImpl(java.lang.String path, long pegRevision, long startRevision, long endRevision, ISVNLocationSegmentHandler handler) protected intgetLocationsImpl(java.lang.String path, long pegRevision, long[] revisions, ISVNLocationEntryHandler handler) getLock(java.lang.String path) Gets the lock for the file located at the specified path.SVNLock[]getLocks(java.lang.String path) Gets all locks on or below thepath, that is if the repository entry (located at thepath) is a directory then the method returns locks of all locked files (if any) in it.protected java.util.MapgetMergeInfoImpl(java.lang.String[] paths, long revision, SVNMergeInfoInheritance inherit, boolean includeDescendants) getRepositoryRoot(boolean forceConnection) Gets a repository's root directory location.java.lang.StringgetRepositoryUUID(boolean forceConnection) Gets the Universal Unique IDentifier (UUID) of the repository this driver is created for.getRevisionProperties(long revision, SVNProperties properties) Returns unversioned revision properties for a particular revision.getRevisionPropertyValue(long revision, java.lang.String propertyName) Gets the value of an unversioned property.java.io.FilebooleanhasCapability(SVNCapability capability) Returnstrueif the repository has specifiedcapability.booleanbooleaninfo(java.lang.String path, long revision) Gives information about an entry located at the specified path in a particular revision.booleanbooleanvoidlock(java.util.Map pathsToRevisions, java.lang.String comment, boolean force, ISVNLockHandler handler) Locks path(s) at definite revision(s).protected longlogImpl(java.lang.String[] targetPaths, long startRevision, long endRevision, boolean changedPath, boolean strictNode, long limit, boolean includeMergedRevisions, java.lang.String[] revPropNames, ISVNLogEntryHandler handler) protected voidvoidreplay(long lowRevision, long highRevision, boolean sendDeltas, ISVNEditor editor) Replays the changes from the specified revision through the given editor.protected voidreplayRangeImpl(long startRevision, long endRevision, long lowRevision, boolean sendDeltas, ISVNReplayHandler handler) private voidrunReport(SVNURL url, long targetRevision, java.lang.String target, java.lang.String dstPath, SVNDepth depth, boolean ignoreAncestry, boolean resourceWalk, boolean fetchContents, boolean sendCopyFromArgs, boolean sendAll, boolean closeEditorOnException, boolean spool, ISVNWorkingCopyContentMediator workingCopyContentMediator, ISVNReporterBaton reporter, ISVNEditor editor) voidsetAuthenticationManager(ISVNAuthenticationManager authManager) Sets an authentication driver for this object.voidsetHttpV2Enabled(boolean httpV2Enabled) static voidsetKeepCredentials(boolean keepCredentials) voidsetRepositoryRoot(SVNURL root) voidsetRepositoryUUID(java.lang.String uuid) voidsetRevisionPropertyValue(long revision, java.lang.String propertyName, SVNPropertyValue propertyValue) Sets a revision property with the specified name to a new value.voidsetSpoolLocation(java.io.File spoolLocation) voidsetSpoolResponse(boolean spool) voidstatus(long revision, java.lang.String target, SVNDepth depth, ISVNReporterBaton reporter, ISVNEditor editor) Gets status of a path to the particulardepthas a scope.voidTries to access a repository.voidunlock(java.util.Map pathToTokens, boolean force, ISVNLockHandler handler) Removes lock(s) from the file(s).voidupdate(long revision, java.lang.String target, SVNDepth depth, boolean sendCopyFromArgs, ISVNReporterBaton reporter, ISVNEditor editor) Updates a path receiving changes from a repository.voidupdate(SVNURL url, long revision, java.lang.String target, SVNDepth depth, ISVNReporterBaton reporter, ISVNEditor editor) Asks this repository access object to 'switch' a versioned tree to a newurl.Methods inherited from class org.tmatesoft.svn.core.io.SVNRepository
addConnectionListener, assertServerIsMergeInfoCapable, assertValidRevision, checkout, checkout, checkoutFiles, diff, diff, diff, fireConnectionClosed, fireConnectionOpened, getAuthenticationManager, getCanceller, getCommitEditor, getCommitEditor, getDebugLog, getDeletedRevision, getDir, getDir, getFileRevisions, getFileRevisions, getFileRevisions, getFullPath, getInheritedProperties, getInheritedProperties, getLocation, getLocationRelativePath, getLocations, getLocations, getLocations, getLocationSegments, getLocationSegments, getMergeInfo, getOptions, getRepositoryPath, getRepositoryRoot, getRepositoryUUID, getRevisionObject, getTunnelProvider, isInvalidRevision, isValidRevision, lock, lock, log, log, log, log, removeConnectionListener, replayRange, setCanceller, setDebugLog, setLocation, setRepositoryCredentials, setTunnelProvider, status, unlock, update, updateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
myConnection
-
myConnectionFactory
-
myIsSpoolResponse
private boolean myIsSpoolResponse -
myHttpV2Enabled
private boolean myHttpV2Enabled -
ourIsKeepCredentials
private static boolean ourIsKeepCredentials -
ourHttpV2Enabled
private static boolean ourHttpV2Enabled -
mySpoolLocation
private java.io.File mySpoolLocation
-
-
Constructor Details
-
DAVRepository
protected DAVRepository(IHTTPConnectionFactory connectionFactory, SVNURL location, ISVNSession options)
-
-
Method Details
-
setKeepCredentials
public static void setKeepCredentials(boolean keepCredentials) -
setSpoolLocation
public void setSpoolLocation(java.io.File spoolLocation) -
getSpoolLocation
public java.io.File getSpoolLocation() -
testConnection
Description copied from class:SVNRepositoryTries to access a repository. Used to check if there're no problems with accessing a repository and to cache a repository UUID and root directory location.- Specified by:
testConnectionin classSVNRepository- Throws:
SVNException- if a failure occured while connecting to a repository or the user's authentication failed (seeSVNAuthenticationException)
-
hasRepositoryUUID
public boolean hasRepositoryUUID() -
setRepositoryUUID
public void setRepositoryUUID(java.lang.String uuid) -
hasRepositoryRoot
public boolean hasRepositoryRoot() -
setRepositoryRoot
-
getRepositoryRoot
Description copied from class:SVNRepositoryGets a repository's root directory location. If this driver object is switched to a different repository location during runtime (probably to an absolutely different repository, seesetLocation()), the root directory location may be changed. This method may need to establish connection with the repository if the information on the repository's root location has not been received yet from the repository.- Overrides:
getRepositoryRootin classSVNRepository- Parameters:
forceConnection- if true then forces this driver to test a connection - try to access a repository- Returns:
- the repository root directory location url
- Throws:
SVNException- in case the repository could not be connectedSVNAuthenticationException- in case of authentication problems- See Also:
-
getRepositoryUUID
Description copied from class:SVNRepositoryGets the Universal Unique IDentifier (UUID) of the repository this driver is created for.- Overrides:
getRepositoryUUIDin classSVNRepository- Parameters:
forceConnection- if true then forces this driver to test a connection - try to access a repository- Returns:
- the UUID of a repository
- Throws:
SVNException- in case the repository could not be connectedSVNAuthenticationException- in case of authentication problems
-
setSpoolResponse
public void setSpoolResponse(boolean spool) -
isSpoolResponse
public boolean isSpoolResponse() -
isHttpV2Enabled
public boolean isHttpV2Enabled() -
setHttpV2Enabled
public void setHttpV2Enabled(boolean httpV2Enabled) -
setAuthenticationManager
Description copied from class:SVNRepositorySets an authentication driver for this object. The auth driver may be implemented to retrieve cached credentials, to prompt a user for credentials or something else (actually, this is up to an implementor). Also there's a default implementation - see theSVNWCUtilclass for more details.- Overrides:
setAuthenticationManagerin classSVNRepository- Parameters:
authManager- an authentication driver to provide user credentials- See Also:
-
getLatestRevision
Description copied from class:SVNRepositoryReturns the number of the latest revision of the repository this driver is working with.- Specified by:
getLatestRevisionin classSVNRepository- Returns:
- the latest revision number
- Throws:
SVNException- if a failure occured while connecting to a repository or the user's authentication failed (seeSVNAuthenticationException)
-
getDatedRevision
Description copied from class:SVNRepositoryReturns the recent repository revision number for the particular moment in time - the closest one before or at the specified datestamp.Example: if you specify a single date without specifying a time of the day (e.g. 2002-11-27) the timestamp is assumed to 00:00:00 and the method won't return any revisions for the day you have specified but for the day just before it.
- Specified by:
getDatedRevisionin classSVNRepository- Parameters:
date- a datestamp for defining the needed moment in time- Returns:
- the revision of the repository for that time
- Throws:
SVNException- if a failure occured while connecting to a repository or the user's authentication failed (seeSVNAuthenticationException)
-
checkPath
Description copied from class:SVNRepositoryReturns the kind of an item located at the specified path in a particular revision. If thepathdoes not exist under the specifiedrevision,SVNNodeKind.NONEwill be returned.The
patharg can be both relative to the location of this driver and absolute to the repository root (starts with"/").- Specified by:
checkPathin classSVNRepository- Parameters:
path- an item's pathrevision- a revision number- Returns:
- the node kind for the given
pathat the givenrevision - Throws:
SVNException- if a failure occured while connecting to a repository or the user's authentication failed (seeSVNAuthenticationException)
-
getRevisionProperties
public SVNProperties getRevisionProperties(long revision, SVNProperties properties) throws SVNException Description copied from class:SVNRepositoryReturns unversioned revision properties for a particular revision. Property names (keys) are mapped to their values. You may use SVNRevisionProperty constants to retrieve property values from the map.- Specified by:
getRevisionPropertiesin classSVNRepository- Parameters:
revision- a revision numberproperties- if not null then properties will be placed in this map, otherwise a new map will be created- Returns:
- a map containing unversioned revision properties
- Throws:
SVNException- in the following cases:revisionnumber is invalid- there's no such
revisionat all - a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
getRevisionPropertyValue
public SVNPropertyValue getRevisionPropertyValue(long revision, java.lang.String propertyName) throws SVNException Description copied from class:SVNRepositoryGets the value of an unversioned property.- Specified by:
getRevisionPropertyValuein classSVNRepository- Parameters:
revision- a revision numberpropertyName- a property name- Returns:
- a revision property value or null if there's no such revision property
- Throws:
SVNException- in the following cases:revisionnumber is invalid or if there's no suchrevisionat all.- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
-
getFile
public long getFile(java.lang.String path, long revision, SVNProperties properties, java.io.OutputStream contents) throws SVNException Description copied from class:SVNRepositoryFetches the contents and/or properties of a file located at the specified path in a particular revision.If
contentsarg is not null it will be written with file contents.If
propertiesarg is not null it will receive the properties of the file. This includes all properties: not just ones controlled by a user and stored in the repository filesystem, but also non-tweakable ones (e.g. 'wcprops', 'entryprops', etc.). Property names (keys) are mapped to property values.The
patharg can be both relative to the location of this driver and absolute to the repository root (starts with"/").If
revisionis invalid (negative), HEAD revision will be used.- Specified by:
getFilein classSVNRepository- Parameters:
path- a file pathrevision- a file revisionproperties- a file properties receiver mapcontents- an output stream to write the file contents to- Returns:
- the revision the file has been taken at
- Throws:
SVNException- in the following cases:- there's no such
pathinrevision - a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- there's no such
-
getFile
public long getFile(java.lang.String path, long revision, SVNProperties properties, java.io.OutputStream contents, ISVNWorkingCopyContentMediator workingCopyContentMediator) throws SVNException - Throws:
SVNException
-
getDir
public long getDir(java.lang.String path, long revision, SVNProperties properties, ISVNDirEntryHandler handler) throws SVNException Description copied from class:SVNRepositoryFetches the contents and/or properties of a directory located at the specified path in a particular revision.This method is the same as
SVNRepository.getDir(String, long, SVNProperties, int, ISVNDirEntryHandler)withentryFieldsparameter set toDIRENT_ALL.- Specified by:
getDirin classSVNRepository- Parameters:
path- a directory pathrevision- a directory revisionproperties- a directory properties receiver maphandler- a handler to process directory entries- Returns:
- the revision of the directory
- Throws:
SVNException- in the following cases:pathnot found in the specifiedrevisionpathis not a directory- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
getDir
public long getDir(java.lang.String path, long revision, SVNProperties properties, int entryFields, ISVNDirEntryHandler handler) throws SVNException Description copied from class:SVNRepositoryFetches the contents and/or properties of a directory located at the specified path in a particular revision with the possibility to specify fields of the entry to fetch.If
handlerarg is not null it will be dispatched information of each directory entry represented by an SVNDirEntry object.If
propertiesarg is not null it will receive the properties of the file. This includes all properties: not just ones controlled by a user and stored in the repository filesystem, but also non-tweakable ones (e.g. 'wcprops', 'entryprops', etc.). Property names (keys) are mapped to property values.The
patharg can be both relative to the location of this driver and absolute to the repository root (starts with"/").If
revisionis invalid (negative), HEAD revision will be used. NOTE: you may not invoke operation methods of this SVNRepository object from within the providedhandler.- Specified by:
getDirin classSVNRepository- Parameters:
path- a directory pathrevision- a directory revisionproperties- a directory properties receiver mapentryFields- a combination of fields for the entryhandler- a handler to process directory entries- Returns:
- the revision of the directory
- Throws:
SVNException- in the following cases:pathnot found in the specifiedrevisionpathis not a directory- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
getDir
public SVNDirEntry getDir(java.lang.String path, long revision, boolean includeComments, java.util.Collection entries) throws SVNException Description copied from class:SVNRepositoryFetches the contents of a directory into the provided collection object and returns the directory entry itself.If
entriesarg is not null it receives the directory entries. Information of each directory entry is represented by an SVNDirEntry object.The
patharg can be both relative to the location of this driver and absolute to the repository root (starts with"/").- Specified by:
getDirin classSVNRepository- Parameters:
path- a directory pathrevision- a revision numberincludeComments- if true then dir entries (SVNDirEntry objects) will be supplied with commit log messages, otherwise notentries- a collection that receives fetched dir entries- Returns:
- the directory entry itself which contents
are fetched into
entries - Throws:
SVNException- in the following cases:pathnot found in the specifiedrevisionpathis not a directory- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
replay
public void replay(long lowRevision, long highRevision, boolean sendDeltas, ISVNEditor editor) throws SVNException Description copied from class:SVNRepositoryReplays the changes from the specified revision through the given editor.Changes will be limited to those that occur under a session's URL, and the server will assume that the client has no knowledge of revisions prior to a
lowRevision. These two limiting factors define the portion of the tree that the server will assume the client already has knowledge of, and thus any copies of data from outside that part of the tree will be sent in their entirety, not as simple copies or deltas against a previous version.If
sendDeltasis true, the actual text and property changes in the revision will be sent, otherwise no text deltas and null property changes will be sent instead.If
lowRevisionis invalid, it defaults to 0.- Specified by:
replayin classSVNRepository- Parameters:
lowRevision- a low revision point beyond which a client has no knowledge of paths historyhighRevision- a revision to replaysendDeltas- controls whether text and property changes are to be senteditor- a commit editor to receive changes- Throws:
SVNException- in case the repository could not be connectedSVNAuthenticationException- in case of authentication problems
-
setRevisionPropertyValue
public void setRevisionPropertyValue(long revision, java.lang.String propertyName, SVNPropertyValue propertyValue) throws SVNException Description copied from class:SVNRepositorySets a revision property with the specified name to a new value.NOTE: revision properties are not versioned. So, the old values may be lost forever.
- Specified by:
setRevisionPropertyValuein classSVNRepository- Parameters:
revision- the number of the revision which property is to be changedpropertyName- a revision property namepropertyValue- the value of the revision property- Throws:
SVNException- in the following cases:- the repository is configured not to allow clients to modify revision properties (e.g. a pre-revprop-change-hook program is not found or failed)
revisionis invalid or doesn't exist at all- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
getCommitEditor
public ISVNEditor getCommitEditor(java.lang.String logMessage, java.util.Map locks, boolean keepLocks, ISVNWorkspaceMediator mediator) throws SVNException Description copied from class:SVNRepositoryGets an editor for committing changes to a repository. Having got the editor traverse a local tree of dirs and/or files to be committed, handling them with corresponding methods of the editor.locksis a map used to provide lock tokens on the locked paths. Keys are locked paths in a local tree, and each value for a key is a lock token.locksmust live during the whole commit operation.If
keepLocksis true, then the locked paths won't be unlocked after a successful commit. Otherwise, if false, locks will be automatically released.mediatoris used for temporary delta data storage allocations.The root path of the commit is the current repository location to which this object is set.
After the commit has succeeded
ISVNEditor.closeEdit()returns an SVNCommitInfo object that contains a new revision number, the commit date, commit author.NOTE: you may not invoke methods of this SVNRepository object from within the returned commit editor.
- Specified by:
getCommitEditorin classSVNRepository- Parameters:
logMessage- a commit log messagelocks- a map containing locked paths mapped to lock tokenskeepLocks- true to keep existing locks; false to release locks after the commitmediator- temp delta storage provider; used also to cache wcprops while committing- Returns:
- an editor to commit a local tree of dirs and/or files
- Throws:
SVNException- in the following cases:- the repository location this object is set to is not a directory
- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
getLock
Description copied from class:SVNRepositoryGets the lock for the file located at the specified path. If the file has no lock the method returns null.The
patharg can be both relative to the location of this driver and absolute to the repository root (starts with"/").- Specified by:
getLockin classSVNRepository- Parameters:
path- a file path- Returns:
- an SVNLock instance (representing the lock) or null if there's no lock
- Throws:
SVNException- in the following cases:- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
getLocks
Description copied from class:SVNRepositoryGets all locks on or below thepath, that is if the repository entry (located at thepath) is a directory then the method returns locks of all locked files (if any) in it.The
patharg can be both relative to the location of this driver and absolute to the repository root (starts with"/").- Specified by:
getLocksin classSVNRepository- Parameters:
path- a path under which locks are to be retrieved- Returns:
- an array of SVNLock objects (representing locks)
- Throws:
SVNException- in the following cases:- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
lock
public void lock(java.util.Map pathsToRevisions, java.lang.String comment, boolean force, ISVNLockHandler handler) throws SVNException Description copied from class:SVNRepositoryLocks path(s) at definite revision(s).Note that locking is never anonymous, so any server implementing this function will have to "pull" a username from the client, if it hasn't done so already.
Each path to be locked is handled with the provided
handler. If a path was successfully locked, thehandler'shandleLock()is called that receives the path and either a lock object (representing the lock that was set on the path) or an error exception, if locking failed for that path.If any path is already locked by a different user and the
forceflag is false, then this call fails with throwing an SVNException. But ifforceis true, then the existing lock(s) will be "stolen" anyway, even if the user name does not match the current lock's owner.Paths can be both relative to the location of this driver and absolute to the repository root (starting with
"/").- Specified by:
lockin classSVNRepository- Parameters:
pathsToRevisions- a map which keys are paths and values are revision numbers (as Longs); paths are strings and revision numbers are Long objectscomment- a comment string for the lock (optional)force- true if the file is to be locked in any way (even if it's already locked by someone else)handler- if not null, the lock handler is invoked on each path to be locked- Throws:
SVNException- in the following cases:forceis false and a path is already locked by someone else- a revision of a path is less than its last changed revision
- a path does not exist in the latest revision
- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
unlock
public void unlock(java.util.Map pathToTokens, boolean force, ISVNLockHandler handler) throws SVNException Description copied from class:SVNRepositoryRemoves lock(s) from the file(s).Note that unlocking is never anonymous, so any server implementing this function will have to "pull" a username from the client, if it hasn't done so already.
Each path to be unlocked is handled with the provided
handler. If a path was successfully unlocked, thehandler'shandleUnlock()is called that receives the path and either a lock object (representing the lock that was removed from the path) or an error exception, if unlocking failed for that path.If the username doesn't match the lock's owner and
forceis false, this method call fails with throwing an SVNException. But if theforceflag is true, the lock will be "broken" by the current user.Also if the lock token is incorrect or null and
forceis false, the method fails with throwing a SVNException. However, ifforceis true the lock will be removed anyway.Paths can be both relative to the location of this driver and absolute to the repository root (starting with
"/").- Specified by:
unlockin classSVNRepository- Parameters:
pathToTokens- a map which keys are file paths and values are file lock tokens (both keys and values are strings)force- true to remove the lock in any case - i.e. to "break" the lockhandler- if not null, the lock handler is invoked on each path to be unlocked- Throws:
SVNException- in the following cases:forceis false and the name of the user who tries to unlock a path does not match the lock owner- a lock token is incorrect for a path
- a failure occurred while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
info
Description copied from class:SVNRepositoryGives information about an entry located at the specified path in a particular revision.The
patharg can be both relative to the location of this driver and absolute to the repository root (starts with"/").- Specified by:
infoin classSVNRepository- Parameters:
path- an item's pathrevision- a revision of the entry; defaults to the latest revision (HEAD)- Returns:
- an SVNDirEntry containing information about
the entry or null if
there's no entry with at the specified
pathunder the specifiedrevision - Throws:
SVNException- in the following cases:- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
-
closeSession
public void closeSession()Description copied from class:SVNRepositoryCloses the current session closing a socket connection used by this object. If this driver object keeps a single connection for all the data i/o, this method helps to reset the connection.- Specified by:
closeSessionin classSVNRepository
-
doGetFullPath
public java.lang.String doGetFullPath(java.lang.String relativeOrRepositoryPath) throws SVNException - Throws:
SVNException
-
diff
public void diff(SVNURL url, long targetRevision, long revision, java.lang.String target, boolean ignoreAncestry, SVNDepth depth, boolean getContents, ISVNReporterBaton reporter, ISVNEditor editor) throws SVNException Description copied from class:SVNRepositoryAsks this repository access object to 'diff' a working copy againsttargetRevision. Note: this method cannot be used to diff a single file, only a directory. See theSVNRepository.update(SVNURL, long, String, SVNDepth, ISVNReporterBaton, ISVNEditor)method for more details. The client initially provides aneditor; this editor contains knowledge of where the common diff root is in the working copy (whenISVNEditor.openRoot(long)is called). In return, the client receives aISVNReporterobject in hisISVNReporterBatonimplementation. The client then describes its working copy by making calls into the reporter object. When finished, the client callsISVNReporter.finishReport(). ThisSVNRepositoryobject then does a complete drive ofeditor, ending withISVNEditor.closeEdit(), to transmit the diff.targetis an optional single path component that will restrict the scope of things affected by the switch to an entry in the directory represented by thelocationof this object, or null if the entire directory is meant to be switched. The working copy will be diffed againsturlas it exists in revisiontargeRevision, or as it is in HEAD iftargetRevisionis invalid (<0). UseignoreAncestryto control whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. Diffs only as deeply asdepthindicates. The caller may not perform any repository access operations using thisSVNRepositoryobject before finishing the report, and may not perform any repository access operations using thisSVNRepositoryobject from within the editing operations ofeditor.getContentsinstructs the driver of theeditorto enable the generation of text deltas. IfgetContentsis false theeditor'sISVNDeltaConsumer.textDeltaChunk(String, SVNDiffWindow)method will be called once withSVNDiffWindow.EMPTY. Note: the reporter provided by this function does NOT supply copy-from information to the diff editor callbacks. Note: in order to prevent pre-1.5 servers from doing more work than needed, and sending too much data back, a pre-1.5 'recurse' directive may be sent to the server, based ondepth.- Specified by:
diffin classSVNRepository- Parameters:
url- a repository location of the entry against which differences are calculatedtargetRevision- a revision number of the entry located at the specifiedurl; defaults to the latest revision (HEAD) if this arg is invalidrevision- a revision number of the repository location to which this driver object is settarget- a target entry name (optional)ignoreAncestry- if true then the ancestry of the two entries to be diffed is ignored, otherwise notdepth- tree depth to processgetContents- if false contents (diff windows) will not be sent to the editorreporter- a caller's reportereditor- a caller's editor- Throws:
SVNException- in the following cases:urlnot found neither in the specifiedrevisionnor in the HEAD revision- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
-
status
public void status(long revision, java.lang.String target, SVNDepth depth, ISVNReporterBaton reporter, ISVNEditor editor) throws SVNException Description copied from class:SVNRepositoryGets status of a path to the particulardepthas a scope.SVNRepository.status(long, String, boolean, ISVNReporterBaton, ISVNEditor)- Specified by:
statusin classSVNRepository- Parameters:
revision- a desired revision to get status against; defaults to the latest revision (HEAD)target- an entry name (optional)depth- defines the status scopereporter- a client's reporter-batoneditor- a client's status editor- Throws:
SVNException- in the following cases:- a failure occured while connecting to a repository
- the user authentication failed
(see
SVNAuthenticationException)
- See Also:
-
update
public void update(SVNURL url, long revision, java.lang.String target, SVNDepth depth, ISVNReporterBaton reporter, ISVNEditor editor) throws SVNException Description copied from class:SVNRepositoryAsks this repository access object to 'switch' a versioned tree to a newurl. The client initially provides aneditor; this editor contains knowledge of where the change will begin in the working copy (ISVNEditor.openRoot(long)is called). In return, the client receives aISVNReporterobject in hisISVNReporterBatonimplementation. The client then describes its working copy by making calls into the reporter object. When finished, the client callsISVNReporter.finishReport(). ThisSVNRepositoryobject then does a complete drive ofeditor, ending withISVNEditor.closeEdit(), to switch the working copy.targetis an optional single path component that will restrict the scope of things affected by the switch to an entry in the directory represented by thelocationof this object, or null if the entire directory is meant to be switched. Switches the target only as deeply asdepthindicates. The local tree will be switched torevision, or the HEAD revision if this arg is invalid. The caller may not perform any repository access operations using thisSVNRepositoryobject before finishing the report, and may not perform any repository access operations using thisSVNRepositoryobject from within the editing operations ofeditor. Note: the reporter provided by this function does NOT supply copy-from information to the diff editor callbacks. Note: in order to prevent pre-1.5 servers from doing more work than needed, and sending too much data back, a pre-1.5 'recurse' directive may be sent to the server, based ondepth.- Specified by:
updatein classSVNRepository- Parameters:
url- a new location in the repository to switch torevision- a desired revision to make update to; defaults to the latest revision (HEAD)target- an entry name (optional)depth- the depth for update operationreporter- a caller's reportereditor- a caller's editor- Throws:
SVNException- See Also:
-
update
public void update(long revision, java.lang.String target, SVNDepth depth, boolean sendCopyFromArgs, ISVNReporterBaton reporter, ISVNEditor editor) throws SVNException Description copied from class:SVNRepositoryUpdates a path receiving changes from a repository.targetis the name (one-level path component) of an entry that will restrict the scope of the update to this entry. In other wordstargetis a child entry of the directory represented by the repository location to which this object is set. For example, if we have something like"/dirA/dirB"in a repository, then this object's repository location may be set to"svn://host:port/path/to/repos/dirA", andtargetmay be"dirB".If
targetis null or empty ("") then the scope of the update operation is the repository location to which this object is set.The
reporteris used to describe the state of the local item(s) (i.e. items' revision numbers, deleted, switched items). All the paths described by thereportershould be relative to the repository location to which this object is set.After that the
editoris used to carry out all the work on updating. Thiseditorcontains knowledge of where the change will begin (whenISVNEditor.openRoot()is called).NOTE: you may not invoke methods of this SVNRepository object from within the provided
reporterandeditor.- Specified by:
updatein classSVNRepository- Parameters:
revision- a desired revision to make update to; defaults to the latest revision (HEAD)target- an entry name (optional)depth- a depth for update operation, determines the scope of the updatereporter- a caller's reportereditor- a caller's editor- Throws:
SVNException- in case the repository could not be connectedSVNAuthenticationException- in case of authentication problems- See Also:
-
hasCapability
Description copied from class:SVNRepositoryReturnstrueif the repository has specifiedcapability. This method may need to establish connection with the repository if information on capabilities has not been received yet from the repository.- Specified by:
hasCapabilityin classSVNRepository- Parameters:
capability- one ofSVNCapability- Returns:
- boolean if the repository has specified capability
- Throws:
SVNException- in case the repository could not be connectedSVNAuthenticationException- in case of authentication problems- See Also:
-
getFileRevisionsImpl
protected int getFileRevisionsImpl(java.lang.String path, long startRevision, long endRevision, boolean includeMergedRevisions, ISVNFileRevisionHandler handler) throws SVNException - Specified by:
getFileRevisionsImplin classSVNRepository- Throws:
SVNException
-
logImpl
protected long logImpl(java.lang.String[] targetPaths, long startRevision, long endRevision, boolean changedPath, boolean strictNode, long limit, boolean includeMergedRevisions, java.lang.String[] revPropNames, ISVNLogEntryHandler handler) throws SVNException - Specified by:
logImplin classSVNRepository- Throws:
SVNException
-
openConnection
- Throws:
SVNException
-
createDAVConnection
protected DAVConnection createDAVConnection(IHTTPConnectionFactory connectionFactory, DAVRepository repo) -
closeConnection
protected void closeConnection() -
getLocationsImpl
protected int getLocationsImpl(java.lang.String path, long pegRevision, long[] revisions, ISVNLocationEntryHandler handler) throws SVNException - Specified by:
getLocationsImplin classSVNRepository- Throws:
SVNException
-
getLocationSegmentsImpl
protected long getLocationSegmentsImpl(java.lang.String path, long pegRevision, long startRevision, long endRevision, ISVNLocationSegmentHandler handler) throws SVNException - Specified by:
getLocationSegmentsImplin classSVNRepository- Throws:
SVNException
-
doGetRepositoryPath
- Throws:
SVNException
-
getMergeInfoImpl
protected java.util.Map getMergeInfoImpl(java.lang.String[] paths, long revision, SVNMergeInfoInheritance inherit, boolean includeDescendants) throws SVNException - Specified by:
getMergeInfoImplin classSVNRepository- Throws:
SVNException
-
replayRangeImpl
protected void replayRangeImpl(long startRevision, long endRevision, long lowRevision, boolean sendDeltas, ISVNReplayHandler handler) throws SVNException - Specified by:
replayRangeImplin classSVNRepository- Throws:
SVNException
-
getCommitEditorInternal
protected ISVNEditor getCommitEditorInternal(java.util.Map locks, boolean keepLocks, SVNProperties revProps, ISVNWorkspaceMediator mediator) throws SVNException - Specified by:
getCommitEditorInternalin classSVNRepository- Throws:
SVNException
-
getDeletedRevisionImpl
protected long getDeletedRevisionImpl(java.lang.String path, long pegRevision, long endRevision) throws SVNException - Specified by:
getDeletedRevisionImplin classSVNRepository- Throws:
SVNException
-
getConnection
-
getConnectionFactory
-
doGetMergeInfo
private java.util.Map doGetMergeInfo(java.lang.String[] paths, long revision, SVNMergeInfoInheritance inherit, boolean includeDescendants) throws SVNException - Throws:
SVNException
-
runReport
private void runReport(SVNURL url, long targetRevision, java.lang.String target, java.lang.String dstPath, SVNDepth depth, boolean ignoreAncestry, boolean resourceWalk, boolean fetchContents, boolean sendCopyFromArgs, boolean sendAll, boolean closeEditorOnException, boolean spool, ISVNWorkingCopyContentMediator workingCopyContentMediator, ISVNReporterBaton reporter, ISVNEditor editor) throws SVNException - Throws:
SVNException
-
createDirEntry
private SVNDirEntry createDirEntry(java.lang.String fullPath, DAVProperties child) throws SVNException - Throws:
SVNException
-
getInheritedPropertiesImpl
protected void getInheritedPropertiesImpl(java.lang.String path, long revision, java.lang.String propertyName, ISVNInheritedPropertiesHandler handler) throws SVNException - Specified by:
getInheritedPropertiesImplin classSVNRepository- Throws:
SVNException
-