|
SVNKit Home | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.tmatesoft.svn.core.wc.SVNBasicClient
org.tmatesoft.svn.core.wc.SVNWCClient
The SVNWCClient class combines a number of version control operations mainly intended for local work with Working Copy items. This class includes those operations that are destined only for local work on a Working Copy as well as those that are moreover able to access a repository.
Here's a list of the SVNWCClient's methods matched against corresponing commands of the SVN command line client:SVNKit | Subversion |
doAdd() | 'svn add' |
doGetFileContents() | 'svn cat' |
doDelete() | 'svn delete' |
doCleanup() | 'svn cleanup' |
doInfo() | 'svn info' |
doLock() | 'svn lock' |
doUnlock() | 'svn unlock' |
doSetProperty() |
'svn propset PROPNAME PROPVAL PATH' 'svn propdel PROPNAME PATH' 'svn propedit PROPNAME PATH' |
doSetRevisionProperty() |
'svn propset PROPNAME --revprop -r REV PROPVAL [URL]' 'svn propdel PROPNAME --revprop -r REV [URL]' 'svn propedit PROPNAME --revprop -r REV [URL]' |
doGetProperty() |
'svn propget PROPNAME PATH' 'svn proplist PATH' |
doGetRevisionProperty() |
'svn propget PROPNAME --revprop -r REV [URL]' 'svn proplist --revprop -r REV [URL]' |
doResolve() | 'svn resolved' |
doRevert() | 'svn revert' |
Nested Class Summary |
Nested classes inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient |
SVNBasicClient.RepositoryReference, SVNBasicClient.SVNRepositoryLocation |
Field Summary | |
static ISVNAddParameters |
DEFAULT_ADD_PARAMETERS
Default implementation of ISVNAddParameters which
onInconsistentEOLs(File file) always returns the
ISVNAddParameters.REPORT_ERROR action. |
Fields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler |
UNKNOWN |
Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller |
NULL |
Constructor Summary | |
SVNWCClient(ISVNAuthenticationManager authManager,
ISVNOptions options)
Constructs and initializes an SVNWCClient object with the specified run-time configuration and authentication drivers. |
|
SVNWCClient(ISVNRepositoryPool repositoryPool,
ISVNOptions options)
Constructs and initializes an SVNWCClient object with the specified run-time configuration and repository pool object. |
Method Summary | |
void |
doAdd(File[] paths,
boolean force,
boolean mkdir,
boolean climbUnversionedParents,
SVNDepth depth,
boolean depthIsSticky,
boolean includeIgnored,
boolean makeParents)
Schedules working copy paths for addition to the repository.
|
void |
doAdd(File path,
boolean force,
boolean mkdir,
boolean climbUnversionedParents,
boolean recursive)
Deprecated. use doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean) instead |
void |
doAdd(File path,
boolean force,
boolean mkdir,
boolean climbUnversionedParents,
boolean recursive,
boolean includeIgnored)
Deprecated. use doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean) instead |
void |
doAdd(File path,
boolean force,
boolean mkdir,
boolean climbUnversionedParents,
SVNDepth depth,
boolean includeIgnored,
boolean makeParents)
Schedules a working copy path for addition to the repository.
|
void |
doAdd(File path,
boolean force,
boolean mkdir,
boolean climbUnversionedParents,
SVNDepth depth,
boolean depthIsSticky,
boolean includeIgnored,
boolean makeParents)
Schedules a working copy path for addition to the repository.
|
void |
doCleanup(File path)
Cleans up a working copy. |
void |
doCleanup(File path,
boolean deleteWCProperties)
Recursively cleans up the working copy, removing locks and resuming unfinished operations. |
void |
doCleanupWCProperties(File directory)
Recursively removes all DAV-specific "svn:wc:" properties from the directory and beneath.
|
void |
doDelete(File path,
boolean force,
boolean dryRun)
Schedules a Working Copy item for deletion. |
void |
doDelete(File path,
boolean force,
boolean deleteFiles,
boolean dryRun)
Schedules a Working Copy item for deletion. |
void |
doGetFileContents(File path,
SVNRevision pegRevision,
SVNRevision revision,
boolean expandKeywords,
OutputStream dst)
Outputs the content of file identified by path and revision
to the stream dst . |
void |
doGetFileContents(SVNURL url,
SVNRevision pegRevision,
SVNRevision revision,
boolean expandKeywords,
OutputStream dst)
Outputs the content of file identified by url and revision
to the stream dst . |
SVNPropertyData |
doGetProperty(File path,
String propName,
SVNRevision pegRevision,
SVNRevision revision)
Gets the value of the property propName for path .
|
void |
doGetProperty(File path,
String propName,
SVNRevision pegRevision,
SVNRevision revision,
boolean recursive,
ISVNPropertyHandler handler)
Deprecated. use doGetProperty(File, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler, Collection) instead |
void |
doGetProperty(File path,
String propName,
SVNRevision pegRevision,
SVNRevision revision,
SVNDepth depth,
ISVNPropertyHandler handler,
Collection changeLists)
Invokes handler on paths covered by depth starting with
the specified path .
|
SVNPropertyData |
doGetProperty(SVNURL url,
String propName,
SVNRevision pegRevision,
SVNRevision revision)
Gets the value of the property propName for url .
|
void |
doGetProperty(SVNURL url,
String propName,
SVNRevision pegRevision,
SVNRevision revision,
boolean recursive,
ISVNPropertyHandler handler)
Deprecated. use doGetProperty(SVNURL, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler) instead |
void |
doGetProperty(SVNURL url,
String propName,
SVNRevision pegRevision,
SVNRevision revision,
SVNDepth depth,
ISVNPropertyHandler handler)
Invokes handler on paths covered by depth starting with
the specified path .
|
void |
doGetRevisionProperty(File path,
String propName,
SVNRevision revision,
ISVNPropertyHandler handler)
Gets an unversioned revision property from a repository (getting a repository URL from a Working Copy) and passes it to a provided property handler. |
long |
doGetRevisionProperty(SVNURL url,
String propName,
SVNRevision revision,
ISVNPropertyHandler handler)
Gets an unversioned revision property from a repository and passes it to a provided property handler. |
String |
doGetWorkingCopyID(File path,
String trailURL)
Returns the current Working Copy min- and max- revisions as well as changes and switch status within a single string. |
String |
doGetWorkingCopyID(File path,
String trailURL,
boolean committed)
Returns the current Working Copy min- and max- revisions as well as changes and switch status within a single string. |
SVNInfo |
doInfo(File path,
SVNRevision revision)
Collects and returns information on a single Working Copy item. |
void |
doInfo(File path,
SVNRevision revision,
boolean recursive,
ISVNInfoHandler handler)
Deprecated. use doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler) instead |
void |
doInfo(File path,
SVNRevision pegRevision,
SVNRevision revision,
boolean recursive,
ISVNInfoHandler handler)
Deprecated. use doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler) instead |
void |
doInfo(File path,
SVNRevision pegRevision,
SVNRevision revision,
SVNDepth depth,
Collection changeLists,
ISVNInfoHandler handler)
Invokes handler to return information
about path in revision . |
SVNInfo |
doInfo(SVNURL url,
SVNRevision pegRevision,
SVNRevision revision)
Collects and returns information on a single item in a repository. |
void |
doInfo(SVNURL url,
SVNRevision pegRevision,
SVNRevision revision,
boolean recursive,
ISVNInfoHandler handler)
Deprecated. use doInfo(SVNURL, SVNRevision, SVNRevision, SVNDepth, ISVNInfoHandler) instead |
void |
doInfo(SVNURL url,
SVNRevision pegRevision,
SVNRevision revision,
SVNDepth depth,
ISVNInfoHandler handler)
Invokes handler to return information
about url in revision . |
void |
doLock(File[] paths,
boolean stealLock,
String lockMessage)
Locks file items in a Working Copy as well as in a repository so that no other user can commit changes to them. |
void |
doLock(SVNURL[] urls,
boolean stealLock,
String lockMessage)
Locks file items in a repository so that no other user can commit changes to them. |
void |
doMarkReplaced(File path)
Schedules path as being replaced.
|
void |
doResolve(File path,
boolean recursive)
Deprecated. use doResolve(File, SVNDepth, SVNConflictChoice) instead |
void |
doResolve(File path,
SVNDepth depth,
boolean resolveContents,
boolean resolveProperties,
boolean resolveTree,
SVNConflictChoice conflictChoice)
Performs automatic conflict resolution on a working copy path .
|
void |
doResolve(File path,
SVNDepth depth,
boolean resolveContents,
boolean resolveProperties,
SVNConflictChoice conflictChoice)
Performs automatic conflict resolution on a working copy path .
|
void |
doResolve(File path,
SVNDepth depth,
SVNConflictChoice conflictChoice)
Performs automatic conflict resolution on a working copy path .
|
void |
doRevert(File[] paths,
boolean recursive)
Deprecated. use doRevert(File[], SVNDepth, Collection) instead |
void |
doRevert(File[] paths,
SVNDepth depth,
Collection changeLists)
Restores the pristine version of working copy paths ,
effectively undoing any local mods. |
void |
doRevert(File path,
boolean recursive)
Deprecated. use doRevert(File[], SVNDepth, Collection) |
void |
doSetProperty(File path,
ISVNPropertyValueProvider propertyValueProvider,
boolean skipChecks,
SVNDepth depth,
ISVNPropertyHandler handler,
Collection changeLists)
Crawls the working copy at path and calls ISVNPropertyValueProvider.providePropertyValues(java.io.File, org.tmatesoft.svn.core.SVNProperties)
to get properties to be change on each path being traversed
If depth is SVNDepth.EMPTY , change the properties on path
only; if SVNDepth.FILES , change the properties on path and its file
children (if any); if SVNDepth.IMMEDIATES , on path and all
of its immediate children (both files and directories); if
SVNDepth.INFINITY , on path and everything beneath it.
|
void |
doSetProperty(File path,
String propName,
SVNPropertyValue propValue,
boolean force,
boolean recursive,
ISVNPropertyHandler handler)
Deprecated. use doSetProperty(File, String, SVNPropertyValue, boolean, SVNDepth, ISVNPropertyHandler, Collection)
instead |
void |
doSetProperty(File path,
String propName,
SVNPropertyValue propValue,
boolean skipChecks,
SVNDepth depth,
ISVNPropertyHandler handler,
Collection changeLists)
Sets propName to propValue on path .
|
SVNCommitInfo |
doSetProperty(SVNURL url,
String propName,
SVNPropertyValue propValue,
SVNRevision baseRevision,
String commitMessage,
SVNProperties revisionProperties,
boolean skipChecks,
ISVNPropertyHandler handler)
Sets propName to propValue on path .
|
void |
doSetRevisionProperty(File path,
SVNRevision revision,
String propName,
SVNPropertyValue propValue,
boolean force,
ISVNPropertyHandler handler)
Set propName to propValue on revision
revision in the repository represented by path .
|
void |
doSetRevisionProperty(SVNURL url,
SVNRevision revision,
String propName,
SVNPropertyValue propValue,
boolean force,
ISVNPropertyHandler handler)
Set propName to propValue on revision
revision in the repository represented by path .
|
void |
doSetWCFormat(File directory,
int format)
Changes working copy format. |
void |
doUnlock(File[] paths,
boolean breakLock)
Unlocks file items in a Working Copy as well as in a repository. |
void |
doUnlock(SVNURL[] urls,
boolean breakLock)
Unlocks file items in a repository. |
protected ISVNAddParameters |
getAddParameters()
Returns the add parameters object used by this object. |
ISVNCommitHandler |
getCommitHandler()
Returns the specified commit handler (if set) being in use or a default one (DefaultSVNCommitHandler) if no special implementations of ISVNCommitHandler were previousely provided. |
boolean |
isRevertMissingDirectories()
|
void |
setAddParameters(ISVNAddParameters addParameters)
Sets custom add parameters to this client object. |
void |
setCommitHandler(ISVNCommitHandler handler)
Sets an implementation of ISVNCommitHandler to the commit handler that will be used during commit operations to handle commit log messages. |
void |
setRevertMissingDirectories(boolean revertMissing)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static ISVNAddParameters DEFAULT_ADD_PARAMETERS
ISVNAddParameters
which
onInconsistentEOLs(File file)
always returns the
ISVNAddParameters.REPORT_ERROR
action.
Constructor Detail |
public SVNWCClient(ISVNAuthenticationManager authManager, ISVNOptions options)
options
is null,
then this SVNWCClient will be using a default run-time
configuration driver which takes client-side settings from the
default SVN's run-time configuration area but is not able to
change those settings (read more on ISVNOptions
and SVNWCUtil
).
If authManager
is null,
then this SVNWCClient will be using a default authentication
and network layers driver (see SVNWCUtil.createDefaultAuthenticationManager()
)
which uses server-side settings and auth storage from the
default SVN's run-time configuration area (or system properties
if that area is not found).
authManager
- an authentication and network layers driveroptions
- a run-time configuration options driverpublic SVNWCClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
options
is null,
then this SVNWCClient will be using a default run-time
configuration driver which takes client-side settings from the
default SVN's run-time configuration area but is not able to
change those settings (read more on ISVNOptions
and SVNWCUtil
).
If repositoryPool
is null,
then SVNRepositoryFactory
will be used to create repository access objects
.
repositoryPool
- a repository pool objectoptions
- a run-time configuration options driverMethod Detail |
public void setAddParameters(ISVNAddParameters addParameters)
addParameters
- extra parameters for add operationspublic ISVNCommitHandler getCommitHandler()
setCommitHandler(ISVNCommitHandler)
,
DefaultSVNCommitHandler
public void setCommitHandler(ISVNCommitHandler handler)
DefaultSVNCommitHandler
.
handler
- an implementor's handler that will be used to handle
commit log messagesgetCommitHandler()
,
ISVNCommitHandler
protected ISVNAddParameters getAddParameters()
setAddParameters(ISVNAddParameters)
then DEFAULT_ADD_PARAMETERS
is returned.
public void setRevertMissingDirectories(boolean revertMissing)
public boolean isRevertMissingDirectories()
public void doGetFileContents(File path, SVNRevision pegRevision, SVNRevision revision, boolean expandKeywords, OutputStream dst) throws SVNException
path
and revision
to the stream dst
. The actual node revision selected
is determined by the path as it exists in pegRevision
. If pegRevision
is SVNRevision.UNDEFINED
, then it defaults to SVNRevision.WORKING
.
If
path
- working copy pathpegRevision
- revision in which the file item is first looked uprevision
- target revisionexpandKeywords
- if true then
all keywords presenting in the file and listed in
the file's SVNProperty.KEYWORDS
property (if set) will be substituted, otherwise notdst
- the destination where the file contents will be written to
SVNException
- if one of the following is true:
path
refers to a directory
path
does not exist
path
is not under version control
doGetFileContents(SVNURL,SVNRevision,SVNRevision,boolean,OutputStream)
public void doGetFileContents(SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean expandKeywords, OutputStream dst) throws SVNException
url
and revision
to the stream dst
. The actual node revision selected
is determined by the path as it exists in pegRevision
. If pegRevision
is SVNRevision.UNDEFINED
, then it defaults to SVNRevision.HEAD
.
url
- a file item's repository locationpegRevision
- a revision in which the file item is first looked uprevision
- a target revisionexpandKeywords
- if true then
all keywords presenting in the file and listed in
the file's SVNProperty.KEYWORDS
property (if set) will be substituted, otherwise notdst
- the destination where the file contents will be written to
SVNException
- if one of the following is true:
url
refers to a directory
createTempFile()
fails) necessary for file translating
doGetFileContents(File,SVNRevision,SVNRevision,boolean,OutputStream)
public void doCleanup(File path) throws SVNException
doCleanup(path, false)
.
path
- a WC path to start a cleanup from
SVNException
- if one of the following is true:
path
does not exist
path
's parent directory
is not under version control
doCleanup(File, boolean)
public void doCleanup(File path, boolean deleteWCProperties) throws SVNException
This method operates only on working copies and does not open any network connection.
path
- a WC path to start a cleanup fromdeleteWCProperties
- if true, removes DAV specific
"svn:wc:" properties from the working copy
SVNException
- if one of the following is true:
path
does not exist
path
's parent directory
is not under version control
public void doSetProperty(File path, String propName, SVNPropertyValue propValue, boolean skipChecks, SVNDepth depth, ISVNPropertyHandler handler, Collection changeLists) throws SVNException
propName
to propValue
on path
.
A propValue
of null will delete
the property.
If depth
is SVNDepth.EMPTY
, set the property on path
only; if SVNDepth.FILES
, set it on path
and its file
children (if any); if SVNDepth.IMMEDIATES
, on path
and all
of its immediate children (both files and directories); if
SVNDepth.INFINITY
, on path
and everything beneath it.
If propName
is an svn-controlled property (i.e. prefixed with
"svn:"), then the caller is responsible for ensuring that
the value uses LF line-endings.
If skipChecks
is true, this method does no validity
checking. But if skipChecks
is false,
and propName
is not a valid property for path
, it throws an exception,
either with an error code SVNErrorCode.ILLEGAL_TARGET
(if the property is not appropriate for path
), or with
SVNErrorCode.BAD_MIME_TYPE
(if propName
is
"svn:mime-type", but propVal
is not a valid mime-type).
changeLists
is a collection of String
changelist
names, used as a restrictive filter on items whose properties are
set; that is, don't set properties on any item unless it's a member
of one of those changelists. If changelists
is empty (or
null), no changelist filtering occurs.
This method operates only on working copies and does not open any network connection.
path
- working copy pathpropName
- property namepropValue
- property valueskipChecks
- true to
force the operation to run without validity checkingdepth
- working copy tree depth to processhandler
- a caller's property handlerchangeLists
- changelist names
SVNException
- path
does not exist
SVNErrorCode.CLIENT_PROPERTY_NAME
error code -
if propName
is a revision property name or not a valid property name or
not a regular property name (one starting with
a "svn:entry" or
"svn:wc" prefix)
doSetProperty(SVNURL, String, SVNPropertyValue, SVNRevision, String, SVNProperties, boolean, ISVNPropertyHandler)
public void doSetProperty(File path, ISVNPropertyValueProvider propertyValueProvider, boolean skipChecks, SVNDepth depth, ISVNPropertyHandler handler, Collection changeLists) throws SVNException
path
and calls ISVNPropertyValueProvider.providePropertyValues(java.io.File, org.tmatesoft.svn.core.SVNProperties)
to get properties to be change on each path being traversed
If depth
is SVNDepth.EMPTY
, change the properties on path
only; if SVNDepth.FILES
, change the properties on path
and its file
children (if any); if SVNDepth.IMMEDIATES
, on path
and all
of its immediate children (both files and directories); if
SVNDepth.INFINITY
, on path
and everything beneath it.
If skipChecks
is true, this method does no validity
checking of changed properties. But if skipChecks
is false,
and changed property name is not a valid property for path
, it throws an exception,
either with an error code SVNErrorCode.ILLEGAL_TARGET
(if the property is not appropriate for path
), or with
SVNErrorCode.BAD_MIME_TYPE
(if changed propery name is
"svn:mime-type", but changed property value is not a valid mime-type).
changeLists
is a collection of String
changelist
names, used as a restrictive filter on items whose properties are
set; that is, don't set properties on any item unless it's a member
of one of those changelists. If changelists
is empty (or
null), no changelist filtering occurs.
This method operates only on working copies and does not open any network connection.
path
- working copy pathpropertyValueProvider
- changed properties providerskipChecks
- true to
force the operation to run without validity checkingdepth
- working copy tree depth to processhandler
- a caller's property handlerchangeLists
- changelist names
SVNException
- path
does not exist
SVNErrorCode.CLIENT_PROPERTY_NAME
error code -
if changed property name is a revision property name or not a valid property name or
not a regular property name (one starting with
a "svn:entry" or
"svn:wc" prefix)
doSetProperty(java.io.File, String, org.tmatesoft.svn.core.SVNPropertyValue, boolean, org.tmatesoft.svn.core.SVNDepth, ISVNPropertyHandler, java.util.Collection)
public SVNCommitInfo doSetProperty(SVNURL url, String propName, SVNPropertyValue propValue, SVNRevision baseRevision, String commitMessage, SVNProperties revisionProperties, boolean skipChecks, ISVNPropertyHandler handler) throws SVNException
propName
to propValue
on path
.
A propValue
of null will delete
the property.
baseRevision
must not be null; in this case, the property will only be set
if it has not changed since baseRevision
.
The authentication manager
and
commit handler
, either provided by a caller or default ones,
will be used to immediately attempt to commit the property change in the
repository.
If propName
is an svn-controlled property (i.e. prefixed with
"svn:"), then the caller is responsible for ensuring that
the value uses LF line-endings.
If skipChecks
is true, this method does no validity
checking. But if skipChecks
is false,
and propName
is not a valid property for path
, it throws an exception,
either with an error code SVNErrorCode.ILLEGAL_TARGET
(if the property is not appropriate for path
), or with
SVNErrorCode.BAD_MIME_TYPE
(if propName
is
"svn:mime-type", but propVal
is not a valid mime-type).
If non-null, revisionProperties
is an
SVNProperties
object holding additional, custom revision properties
(String
names mapped to String
values) to be set on the new revision in
the event that this is a committing operation. This table cannot contain any standard Subversion
properties.
url
- versioned item urlpropName
- property namepropValue
- property valuebaseRevision
- revision to change properties againstcommitMessage
- commit log messagerevisionProperties
- custom revision properties to setskipChecks
- true to
force the operation to run without validity checkinghandler
- a caller's property handler
SVNException
- url
does not exist in baseRevision
SVNErrorCode.CLIENT_PROPERTY_NAME
error code -
if propName
is a revision property name or not a valid property name or
not a regular property name (one starting with
an "svn:entry" or
"svn:wc" prefix)
SVNErrorCode.UNSUPPORTED_FEATURE
error code -
if propName
is either equal to SVNProperty.EOL_STYLE
or
SVNProperty.KEYWORDS
or SVNProperty.CHARSET
doSetProperty(File, String, SVNPropertyValue, boolean, SVNDepth, ISVNPropertyHandler, Collection)
public void doSetRevisionProperty(File path, SVNRevision revision, String propName, SVNPropertyValue propValue, boolean force, ISVNPropertyHandler handler) throws SVNException
propName
to propValue
on revision
revision
in the repository represented by path
.
This method simply obtains a url given a working path and calls
doSetRevisionProperty(SVNURL, SVNRevision, String, SVNPropertyValue, boolean, ISVNPropertyHandler)
passing this url and the rest parameters.
path
- working copy pathrevision
- revision which properties are to be modifiedpropName
- property namepropValue
- property valueforce
- if true allows newlines in the author propertyhandler
- caller's property handler
SVNException
- if one of the following is true:
SVNErrorCode.CLIENT_PROPERTY_NAME
error code - if
propName
is invalid
doSetRevisionProperty(SVNURL, SVNRevision, String, SVNPropertyValue, boolean, ISVNPropertyHandler)
public void doSetRevisionProperty(SVNURL url, SVNRevision revision, String propName, SVNPropertyValue propValue, boolean force, ISVNPropertyHandler handler) throws SVNException
propName
to propValue
on revision
revision
in the repository represented by path
.
A propValue
of null will delete the
property. The authentication manager
, either provided by a caller
or a default one, will be used for authentication.
If propName
is an svn-controlled property (i.e. prefixed with
"svn:"), then the caller is responsible for ensuring that
the value is UTF8-encoded and uses LF line-endings.
Although this routine accepts a working copy path it doesn't affect the working copy at all;
it's a pure network operation that changes an *unversioned* property attached to a
revision. This can be used to tweak log messages, dates, authors, and the like.
Be careful: it's a lossy operation.
Also note that unless the administrator creates a pre-revprop-change hook in the repository, this feature will fail.
url
- repository URLrevision
- revision which properties are to be modifiedpropName
- property namepropValue
- property valueforce
- if true allows newlines in the author propertyhandler
- caller's property handler
SVNException
- if one of the following is true:
propName
is either invalid or not a regular property name
(one starting with an "svn:entry" or
"svn:wc" prefix)
doSetRevisionProperty(File, SVNRevision, String, SVNPropertyValue, boolean, ISVNPropertyHandler)
public SVNPropertyData doGetProperty(File path, String propName, SVNRevision pegRevision, SVNRevision revision) throws SVNException
propName
for path
.
This method simply creates an implementation of ISVNPropertyHandler
which stores
the value only for path
which is then used in the following call to
doGetProperty(path, propName, pegRevision, revision, SVNDepth.EMPTY, handler, null)
.
path
- a WC item's pathpropName
- an item's property name; if it's
null then
all the item's properties will be retrieved
but only the first of them returnedpegRevision
- a revision in which the item is first looked uprevision
- a target revision;
SVNException
- if one of the following is true:
propName
starts
with the svn:wc:
prefix
path
is not under version control
doGetProperty(File, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler, Collection)
public SVNPropertyData doGetProperty(SVNURL url, String propName, SVNRevision pegRevision, SVNRevision revision) throws SVNException
propName
for url
.
This method simply creates an implementation of ISVNPropertyHandler
which stores
the value only for path
which is then used in the following call to
doGetProperty(url, propName, pegRevision, revision, SVNDepth.EMPTY, handler)
.
url
- an item's repository locationpropName
- an item's property name; if it's
null then
all the item's properties will be retrieved
but only the first of them returnedpegRevision
- a revision in which the item is first looked uprevision
- a target revision;
SVNException
- if one of the following is true:
propName
starts
with the svn:wc:
prefix
path
is not under version control
doGetProperty(SVNURL, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler)
public void doGetProperty(File path, String propName, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNPropertyHandler handler) throws SVNException
doGetProperty(File, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler, Collection)
instead
path
- a WC item's pathpropName
- an item's property name; if it's
null then
all the item's properties will be retrieved
and passed to handler
for
processingpegRevision
- a revision in which the item is first looked uprevision
- a target revision;recursive
- true to
descend recursivelyhandler
- a caller's property handler
SVNException
- if one of the following is true:
propName
starts
with the svn:wc:
prefix
path
is not under version control
public void doGetProperty(File path, String propName, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, ISVNPropertyHandler handler, Collection changeLists) throws SVNException
handler
on paths covered by depth
starting with
the specified path
.
If both pegRevision
are ones of:
then this method gets properties from the working copy without connecting to the repository.
Otherwise properties are taken from the repository (using the item's URL).
The actual node revision selected is determined by the path as it exists in pegRevision
.
If pegRevision
is SVNRevision.UNDEFINED
, then it defaults to
SVNRevision.WORKING
.
If depth
is SVNDepth.EMPTY
, fetch the property from path
only;
if SVNDepth.FILES
, fetch from path
and its file children (if any);
if SVNDepth.IMMEDIATES
, from path
and all of its immediate children (both files and
directories); if SVNDepth.INFINITY
, from path
and everything beneath it.
changeLists
is a collection of String changelist
names, used as a restrictive filter on items whose properties are
set; that is, don't set properties on any item unless it's a member
of one of those changelists. If changeLists
is empty (or
null), no changelist filtering occurs.
- Parameters:
path
- a WC item's pathpropName
- an item's property name; if it's
null then
all the item's properties will be retrieved
and passed to handler
for
processingpegRevision
- a revision in which the item is first looked uprevision
- a target revisiondepth
- tree depthhandler
- a caller's property handlerchangeLists
- collection of changelist names
- Throws:
SVNException
- if one of the following is true:
propName
starts
with the SVNProperty.SVN_WC_PREFIX
prefix
path
is not under version control
- Since:
- 1.2, SVN 1.5
public void doGetProperty(SVNURL url, String propName, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNPropertyHandler handler) throws SVNException
doGetProperty(SVNURL, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler)
instead
url
- an item's repository locationpropName
- an item's property name; if it's
null then
all the item's properties will be retrieved
and passed to handler
for
processingpegRevision
- a revision in which the item is first looked uprevision
- a target revisionrecursive
- true to
descend recursivelyhandler
- a caller's property handler
SVNException
- if propName
starts
with the svn:wc:
prefixpublic void doGetProperty(SVNURL url, String propName, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, ISVNPropertyHandler handler) throws SVNException
handler
on paths covered by depth
starting with
the specified path
.
If
is SVNRevision.UNDEFINED
then get
properties from the repository head. Else get the properties as of revision
.
The actual node revision selected is determined by the path as it exists in pegRevision
.
If pegRevision
is SVNRevision.UNDEFINED
, then
it defaults to SVNRevision.HEAD
.
If depth
is SVNDepth.EMPTY
, fetch the property from path
only;
if SVNDepth.FILES
, fetch from path
and its file children (if any);
if SVNDepth.IMMEDIATES
, from path
and all of its immediate children (both files and
directories); if SVNDepth.INFINITY
, from path
and everything beneath it.
url
- versioned item urlpropName
- an item's property name; if it's
null then
all the item's properties will be retrieved
and passed to handler
for
processingpegRevision
- a revision in which the item is first looked uprevision
- a target revisiondepth
- tree depthhandler
- a caller's property handler
SVNException
- if one of the following is true:
propName
starts
with the SVNProperty.SVN_WC_PREFIX
prefix
path
is not under version control
public void doGetRevisionProperty(File path, String propName, SVNRevision revision, ISVNPropertyHandler handler) throws SVNException
path
- a local Working Copy item which repository
location is used to connect to a repositorypropName
- a revision property name; if this parameter
is null then
all the revision properties will be retrieved
and passed to handler
for
processingrevision
- a revision which property is to be retrievedhandler
- a caller's property handler
SVNException
- if one of the following is true:
revision
is invalid
propName
starts with the
svn:wc:
prefix
doGetRevisionProperty(SVNURL,String,SVNRevision,ISVNPropertyHandler)
public long doGetRevisionProperty(SVNURL url, String propName, SVNRevision revision, ISVNPropertyHandler handler) throws SVNException
url
- a URL pointing to a repository location
which revision property is to be gotpropName
- a revision property name; if this parameter
is null then
all the revision properties will be retrieved
and passed to handler
for
processingrevision
- a revision which property is to be retrievedhandler
- a caller's property handler
revision
is resolved
SVNException
- if one of the following is true:
revision
is invalid
propName
starts with the
svn:wc:
prefix
doGetRevisionProperty(File,String,SVNRevision,ISVNPropertyHandler)
public void doDelete(File path, boolean force, boolean dryRun) throws SVNException
doDelete(path, force, true, dryRun)
.
path
- a WC item to be deletedforce
- true to
force the operation to rundryRun
- true only to
try the delete operation without actual deleting
SVNException
- if one of the following is true:
path
is not under version control
path
without forcing
doDelete(File,boolean,boolean,boolean)
public void doDelete(File path, boolean force, boolean deleteFiles, boolean dryRun) throws SVNException
doDelete()
method is similar to the corresponding SVN client's command - 'svn delete'
as it always deletes files from the filesystem.
This method deletes only local working copy paths without connecting to the repository.
path
- a WC item to be deletedforce
- true to
force the operation to rundeleteFiles
- if true then
files will be scheduled for deletion as well as
deleted from the filesystem, otherwise files will
be only scheduled for addition and still be present
in the filesystemdryRun
- true only to
try the delete operation without actual deleting
SVNException
- if one of the following is true:
path
is not under version control
path
without forcing
public void doAdd(File path, boolean force, boolean mkdir, boolean climbUnversionedParents, boolean recursive) throws SVNException
doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean)
instead
mkdir
to true.
Calling this method is equivalent to
doAdd(path, force, mkdir, climbUnversionedParents, recursive, false)
.
path
- a path to be put under version
control (will be added to a repository
in next commit)force
- when true forces the operation
to run on already versioned files or directories without reporting
error. When ran recursively, all unversioned files and directories
in a tree will be scheduled for addition.mkdir
- if true -
creates a new directory and schedules it for
additionclimbUnversionedParents
- if true and
path
is located in an unversioned
parent directory then the parent will be automatically
scheduled for addition, toorecursive
- true to
descend recursively (relevant for directories)
SVNException
- if one of the following is true:
path
doesn't belong
to a Working Copy
path
doesn't exist and
mkdir
is false
path
is the root directory of the Working Copypublic void doAdd(File path, boolean force, boolean mkdir, boolean climbUnversionedParents, boolean recursive, boolean includeIgnored) throws SVNException
doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean)
instead
mkdir
to true.
path
- a path to be put under version
control (will be added to a repository
in next commit)force
- when true forces the operation
to run on already versioned files or directories without reporting
error. When ran recursively, all unversioned files and directories
in a tree will be scheduled for addition.mkdir
- if true -
creates a new directory and schedules it for
additionclimbUnversionedParents
- if true and
path
is located in an unversioned
parent directory then the parent will be automatically
scheduled for addition, toorecursive
- true to
descend recursively (relevant for directories)includeIgnored
- controls whether ignored items must be also added
SVNException
- if one of the following is true:
path
doesn't belong
to a Working Copy
path
doesn't exist and
mkdir
is false
path
is the root directory of the Working Copy
public void doAdd(File path, boolean force, boolean mkdir, boolean climbUnversionedParents, SVNDepth depth, boolean includeIgnored, boolean makeParents) throws SVNException
path
for addition to the repository.
If depth
is SVNDepth.EMPTY
, adds just path
and nothing
below it. If SVNDepth.FILES
, adds path
and any file
children of path
. If SVNDepth.IMMEDIATES
, adds path
, any
file children, and any immediate subdirectories (but nothing
underneath those subdirectories). If SVNDepth.INFINITY
, adds
path
and everything under it fully recursively.
path
's parent must be under revision control already (unless
makeParents
is true), but path
is not.
If force
is set, path
is a directory, depth
is
SVNDepth.INFINITY
, then schedules for addition unversioned files and directories
scattered deep within a versioned tree.
If includeIgnored
is false, doesn't add files or
directories that match ignore patterns.
If makeParents
is true, recurse up path
's
directory and look for a versioned directory. If found, add all intermediate paths between it
and path
.
Important: this is a *scheduling* operation. No changes will happen to the repository until a commit
occurs. This scheduling can be removed with a call to doRevert(File[], SVNDepth, Collection)
.
path
- working copy pathforce
- if true, this method does not throw exceptions
on already-versioned itemsmkdir
- if true, create a directory also at path
climbUnversionedParents
- not used; make use of makeParents
insteaddepth
- tree depthincludeIgnored
- if true, does not apply ignore patterns
to paths being addedmakeParents
- if true, climb upper and schedule also
all unversioned paths in the way
SVNException
- SVNErrorCode.ENTRY_EXISTS
error code -
if force
is not set and path
is already
under version
exception with SVNErrorCode.CLIENT_NO_VERSIONED_PARENT
error code - if makeParents
is
true but no unversioned paths stepping
upper from path
are foundpublic void doAdd(File[] paths, boolean force, boolean mkdir, boolean climbUnversionedParents, SVNDepth depth, boolean depthIsSticky, boolean includeIgnored, boolean makeParents) throws SVNException
paths
for addition to the repository.
If depth
is SVNDepth.EMPTY
, adds just paths
and nothing
below it. If SVNDepth.FILES
, adds paths
and any file
children of paths
. If SVNDepth.IMMEDIATES
, adds paths
, any
file children, and any immediate subdirectories (but nothing
underneath those subdirectories). If SVNDepth.INFINITY
, adds
paths
and everything under it fully recursively.
paths
' parent must be under revision control already (unless
makeParents
is true), but paths
are not.
If force
is set, path is a directory, depth
is
SVNDepth.INFINITY
, then schedules for addition unversioned files and directories
scattered deep within a versioned tree.
If includeIgnored
is false, doesn't add files or
directories that match ignore patterns.
If makeParents
is true, recurse up path's
directory and look for a versioned directory. If found, add all intermediate paths between it
and the path.
Important: this is a *scheduling* operation. No changes will happen to the repository until a commit
occurs. This scheduling can be removed with a call to doRevert(File[], SVNDepth, Collection)
.
paths
- working copy paths to addforce
- if true, this method does not throw exceptions
on already-versioned itemsmkdir
- if true, create a directory also at path
climbUnversionedParents
- not used; make use of makeParents
insteaddepth
- tree depthdepthIsSticky
- if depth should be recorded to the working copyincludeIgnored
- if true, does not apply ignore patterns
to paths being addedmakeParents
- if true, climb upper and schedule also
all unversioned paths in the way
SVNException
- SVNErrorCode.ENTRY_EXISTS
error code -
if force
is not set and a path is already
under version
exception with SVNErrorCode.CLIENT_NO_VERSIONED_PARENT
error code - if makeParents
is
true but no unversioned paths stepping
upper from a path are foundpublic void doAdd(File path, boolean force, boolean mkdir, boolean climbUnversionedParents, SVNDepth depth, boolean depthIsSticky, boolean includeIgnored, boolean makeParents) throws SVNException
path
for addition to the repository.
If depth
is SVNDepth.EMPTY
, adds just path
and nothing
below it. If SVNDepth.FILES
, adds path
and any file
children of path
. If SVNDepth.IMMEDIATES
, adds path
, any
file children, and any immediate subdirectories (but nothing
underneath those subdirectories). If SVNDepth.INFINITY
, adds
path
and everything under it fully recursively.
path
's parent must be under revision control already (unless
makeParents
is true), but path
is not.
If force
is set, path
is a directory, depth
is
SVNDepth.INFINITY
, then schedules for addition unversioned files and directories
scattered deep within a versioned tree.
If includeIgnored
is false, doesn't add files or
directories that match ignore patterns.
If makeParents
is true, recurse up path
's
directory and look for a versioned directory. If found, add all intermediate paths between it
and path
.
Important: this is a *scheduling* operation. No changes will happen to the repository until a commit
occurs. This scheduling can be removed with a call to doRevert(File[], SVNDepth, Collection)
.
path
- working copy pathforce
- if true, this method does not throw exceptions on already-versioned itemsmkdir
- if true, create a directory also at path
climbUnversionedParents
- not used; make use of makeParents
insteaddepth
- tree depthdepthIsSticky
- if depth should be recorded to the working copyincludeIgnored
- if true, does not apply ignore patterns
to paths being addedmakeParents
- if true, climb upper and schedule also
all unversioned paths in the way
SVNException
- SVNErrorCode.ENTRY_EXISTS
error code -
if force
is not set and path
is already
under version
exception with SVNErrorCode.CLIENT_NO_VERSIONED_PARENT
error code - if makeParents
is
true but no unversioned paths stepping
upper from path
are foundpublic void doMarkReplaced(File path) throws SVNException
path
as being replaced.
This method does not perform any deletion\addition in the filesysem nor does it require a connection to
the repository. It just marks the current path
item as being replaced.
path
- working copy path to mark as
SVNException
public void doRevert(File path, boolean recursive) throws SVNException
doRevert(File[], SVNDepth, Collection)
path
- a WC path to perform a revert onrecursive
- true to
descend recursively (relevant for directories)
SVNException
- if one of the following is true:
path
is not under version control
doRevert(File[],boolean)
public void doRevert(File[] paths, boolean recursive) throws SVNException
doRevert(File[], SVNDepth, Collection)
instead
paths
- a WC paths to perform a revert onrecursive
- true to
descend recursively (relevant for directories)
SVNException
- if one of the following is true:
path
is not under version control
ISVNEventHandler
instance to get information on whether certain path was reverted or not.public void doRevert(File[] paths, SVNDepth depth, Collection changeLists) throws SVNException
paths
,
effectively undoing any local mods. For each path in paths
,
reverts it if it is a file. Else if it is a directory, reverts
according to depth
:
If depth is SVNDepth.EMPTY
, reverts just the properties on
the directory; else if SVNDepth.FILES
, reverts the properties
and any files immediately under the directory; else if
SVNDepth.IMMEDIATES
, reverts all of the preceding plus
properties on immediate subdirectories; else if SVNDepth.INFINITY
,
reverts path and everything under it fully recursively.
changeLists
is a collection of String
changelist
names, used as a restrictive filter on items reverted; that is,
doesn't revert any item unless it's a member of one of those
changelists. If changeLists
is empty (or null),
no changelist filtering occurs.
If an item specified for reversion is not under version control,
then does not fail with an exception, just invokes ISVNEventHandler
using notification code SVNEventAction.SKIP
.
paths
- working copy paths to revertdepth
- tree depthchangeLists
- collection with changelist names
SVNException
public void doResolve(File path, boolean recursive) throws SVNException
doResolve(File, SVNDepth, SVNConflictChoice)
instead
path
- a WC item to be resolvedrecursive
- true to
descend recursively (relevant for directories) - this
will resolve the entire tree
SVNException
- if path
is not under version controlpublic void doResolve(File path, SVNDepth depth, SVNConflictChoice conflictChoice) throws SVNException
path
.
If depth
is SVNDepth.EMPTY
, acts only on path
; if
SVNDepth.FILES
, resolves path
and its conflicted file
children (if any); if SVNDepth.IMMEDIATES
, resolves path
and
all its immediate conflicted children (both files and directories,
if any); if SVNDepth.INFINITY
, resolves path
and every
conflicted file or directory anywhere beneath it.
If conflictChoice
is SVNConflictChoice.BASE
, resolves the
conflict with the old file contents; if SVNConflictChoice.MINE_FULL
, uses the original
working contents; if SVNConflictChoice.THEIRS_FULL
, the new contents; and if
SVNConflictChoice.MERGED
, doesn't change the contents at all, just removes the conflict status,
which is the pre-1.2 (pre-SVN 1.5) behavior.
SVNConflictChoice.THEIRS_CONFLICT
and SVNConflictChoice.MINE_CONFLICT
are not legal for
binary files or properties.
If path
is not in a state of conflict to begin with, does nothing. If
path
's conflict state is removed and caller's ISVNEntryHandler
is not
null, then an SVNEventAction.RESOLVED
event is
dispatched to the handler.
This is equivalent to calling doResolve(path, depth, true, true, conflictChoice)
.
path
- working copy pathdepth
- tree depthconflictChoice
- choice object for making decision while resolving
SVNException
public void doResolve(File path, SVNDepth depth, boolean resolveContents, boolean resolveProperties, SVNConflictChoice conflictChoice) throws SVNException
path
.
If depth
is SVNDepth.EMPTY
, acts only on path
; if
SVNDepth.FILES
, resolves path
and its conflicted file
children (if any); if SVNDepth.IMMEDIATES
, resolves path
and
all its immediate conflicted children (both files and directories,
if any); if SVNDepth.INFINITY
, resolves path
and every
conflicted file or directory anywhere beneath it.
If conflictChoice
is SVNConflictChoice.BASE
, resolves the
conflict with the old file contents; if SVNConflictChoice.MINE_FULL
, uses the original
working contents; if SVNConflictChoice.THEIRS_FULL
, the new contents; and if
SVNConflictChoice.MERGED
, doesn't change the contents at all, just removes the conflict status,
which is the pre-1.2 (pre-SVN 1.5) behavior.
SVNConflictChoice.THEIRS_CONFLICT
and SVNConflictChoice.MINE_CONFLICT
are not legal for
binary files or properties.
If path
is not in a state of conflict to begin with, does nothing. If
path
's conflict state is removed and caller's ISVNEntryHandler
is not
null, then an SVNEventAction.RESOLVED
event is
dispatched to the handler.
path
- working copy pathdepth
- tree depthresolveContents
- resolve content conflictresolveProperties
- resolve property conflictconflictChoice
- choice object for making decision while resolving
SVNException
public void doResolve(File path, SVNDepth depth, boolean resolveContents, boolean resolveProperties, boolean resolveTree, SVNConflictChoice conflictChoice) throws SVNException
path
.
If depth
is SVNDepth.EMPTY
, acts only on path
; if
SVNDepth.FILES
, resolves path
and its conflicted file
children (if any); if SVNDepth.IMMEDIATES
, resolves path
and
all its immediate conflicted children (both files and directories,
if any); if SVNDepth.INFINITY
, resolves path
and every
conflicted file or directory anywhere beneath it.
If conflictChoice
is SVNConflictChoice.BASE
, resolves the
conflict with the old file contents; if SVNConflictChoice.MINE_FULL
, uses the original
working contents; if SVNConflictChoice.THEIRS_FULL
, the new contents; and if
SVNConflictChoice.MERGED
, doesn't change the contents at all, just removes the conflict status,
which is the pre-1.2 (pre-SVN 1.5) behavior.
SVNConflictChoice.THEIRS_CONFLICT
and SVNConflictChoice.MINE_CONFLICT
are not legal for
binary files or properties.
If path
is not in a state of conflict to begin with, does nothing. If
path
's conflict state is removed and caller's ISVNEntryHandler
is not
null, then an SVNEventAction.RESOLVED
event is
dispatched to the handler.
path
- working copy pathdepth
- tree depthresolveContents
- resolve content conflictresolveProperties
- resolve property conflictresolveTree
- n resolve any tree conlictsconflictChoice
- choice object for making decision while resolving
SVNException
public void doLock(File[] paths, boolean stealLock, String lockMessage) throws SVNException
paths
- an array of local WC file paths that should be lockedstealLock
- if true then all existing
locks on the specified paths
will be "stolen"lockMessage
- an optional lock comment
SVNException
- if one of the following is true:
paths
to be locked belong to different repositories
doLock(SVNURL[],boolean,String)
public void doLock(SVNURL[] urls, boolean stealLock, String lockMessage) throws SVNException
urls
- an array of URLs to be lockedstealLock
- if true then all existing
locks on the specified urls
will be "stolen"lockMessage
- an optional lock comment
SVNException
doLock(File[],boolean,String)
public void doUnlock(File[] paths, boolean breakLock) throws SVNException
paths
- an array of local WC file paths that should be unlockedbreakLock
- if true and there are locks
that belong to different users then those locks will be also
unlocked - that is "broken"
SVNException
- if one of the following is true:
breakLock
is false
paths
to be unlocked belong to different repositories
doUnlock(SVNURL[],boolean)
public void doUnlock(SVNURL[] urls, boolean breakLock) throws SVNException
urls
- an array of URLs that should be unlockedbreakLock
- if true and there are locks
that belong to different users then those locks will be also
unlocked - that is "broken"
SVNException
doUnlock(File[],boolean)
public void doInfo(File path, SVNRevision revision, boolean recursive, ISVNInfoHandler handler) throws SVNException
doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler)
instead
revision
is valid and not local,
then information will be collected on remote items (that is taken from
a repository). Otherwise information is gathered on local items not
accessing a repository.
path
- a WC item on which info should be obtainedrevision
- a target revisionrecursive
- true to
descend recursively (relevant for directories)handler
- a caller's info handler
SVNException
- if one of the following is true:
path
is not under version control
path
to
get its information from the repository - there's no such entry
path
is an item that does not exist in
the specified revision
public void doInfo(File path, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNInfoHandler handler) throws SVNException
doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler)
instead
revision
& pegRevision
are valid and not
local, then information will be collected
on remote items (that is taken from a repository). Otherwise information
is gathered on local items not accessing a repository.
path
- a WC item on which info should be obtainedpegRevision
- a revision in which path
is first
looked uprevision
- a target revisionrecursive
- true to
descend recursively (relevant for directories)handler
- a caller's info handler
SVNException
- if one of the following is true:
path
is not under version control
path
to
get its information from the repository - there's no such entry
path
is an item that does not exist in
the specified revision
public void doInfo(File path, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, Collection changeLists, ISVNInfoHandler handler) throws SVNException
handler
to return information
about path
in revision
. The information returned is
system-generated metadata, not the sort of "property" metadata
created by users. See SVNInfo
.
If both revision arguments are either null or
local
, or invalid
, then information
will be pulled solely from the working copy; no network connections will be
made.
Otherwise, information will be pulled from a repository. The
actual node revision selected is determined by the path
as it exists in pegRevision
. If pegRevision
is
SVNRevision.UNDEFINED
, then it defaults to SVNRevision.WORKING
.
If path
is a file, just invokes handler
on it. If it
is a directory, then descends according to depth
. If depth
is
SVNDepth.EMPTY
, invokes handler
on path
and
nothing else; if SVNDepth.FILES
, on path
and its
immediate file children; if SVNDepth.IMMEDIATES
, the preceding
plus on each immediate subdirectory; if SVNDepth.INFINITY
, then
recurses fully, invoking handler
on path
and
everything beneath it.
changeLists
is a collection of String
changelist
names, used as a restrictive filter on items whose info is
reported; that is, doesn't report info about any item unless
it's a member of one of those changelists. If changeLists
is
empty (or null), no changelist filtering occurs.
path
- a WC item on which info should be obtainedpegRevision
- a revision in which path
is first
looked uprevision
- a target revisiondepth
- tree depthchangeLists
- collection changelist nameshandler
- caller's info handler
SVNException
public void doInfo(SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNInfoHandler handler) throws SVNException
doInfo(SVNURL, SVNRevision, SVNRevision, SVNDepth, ISVNInfoHandler)
instead
url
- a URL of an item which information is to be
obtained and processedpegRevision
- a revision in which the item is first looked uprevision
- a target revisionrecursive
- true to
descend recursively (relevant for directories)handler
- a caller's info handler
SVNException
- if url
is an item that does not exist in
the specified revision
public void doInfo(SVNURL url, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, ISVNInfoHandler handler) throws SVNException
handler
to return information
about url
in revision
. The information returned is
system-generated metadata, not the sort of "property" metadata
created by users. See SVNInfo
.
If revision
argument is either null or
invalid
, it defaults to SVNRevision.HEAD
.
If revision
is SVNRevision.PREVIOUS
(or some other kind that requires
a local path), an error will be returned, because the desired
revision cannot be determined.
If pegRevision
argument is either null or
invalid
, it defaults to revision
.
Information will be pulled from the repository. The actual node revision selected is determined by
the url
as it exists in pegRevision
. If pegRevision
is
SVNRevision.UNDEFINED
, then it defaults to SVNRevision.WORKING
.
If url
is a file, just invokes handler
on it. If it
is a directory, then descends according to depth
. If depth
is
SVNDepth.EMPTY
, invokes handler
on url
and
nothing else; if SVNDepth.FILES
, on url
and its
immediate file children; if SVNDepth.IMMEDIATES
, the preceding
plus on each immediate subdirectory; if SVNDepth.INFINITY
, then
recurses fully, invoking handler
on url
and
everything beneath it.
url
- versioned item urlpegRevision
- revision in which path
is first
looked uprevision
- target revisiondepth
- tree depthhandler
- caller's info handler
SVNException
public String doGetWorkingCopyID(File path, String trailURL) throws SVNException
doGetWorkingCopyID(path, trailURL, false)
.
path
- a local pathtrailURL
- optional: if not null
specifies the name of the item that should be met
in the URL corresponding to the repository location
of the path
; if that URL ends with something
different than this optional parameter - the Working
Copy will be considered "switched"
path
is a clean directory
SVNException
- if path
is neither versioned nor
even exporteddoGetWorkingCopyID(File, String, boolean)
public String doGetWorkingCopyID(File path, String trailURL, boolean committed) throws SVNException
"minR[:maxR][M][S]"
where:
minR
- is the smallest revision number met in the
Working Copy
maxR
- is the biggest revision number met in the
Working Copy; appears only if there are different revision in the
Working Copy
M
- appears only if there're local edits to the
Working Copy - that means 'Modified'
S
- appears only if the Working Copy is switched
against a different URL
path
is a directory - this method recursively descends
into the Working Copy, collects and processes local information.
This method operates on local working copies only without accessing a repository.
path
- a local pathtrailURL
- optional: if not null
specifies the name of the item that should be met
in the URL corresponding to the repository location
of the path
; if that URL ends with something
different than this optional parameter - the Working
Copy will be considered "switched"committed
- if true committed (last chaned)
revisions instead of working copy ones are reported
path
is a clean directory
SVNException
- if path
is neither versioned nor
even exportedpublic SVNInfo doInfo(File path, SVNRevision revision) throws SVNException
doInfo(path, SVNRevision.UNDEFINED, revision, SVNDepth.EMPTY, null, handler)
where
handler
just stores SVNInfo
for the path
and then returns it to
the caller.
path
- a WC item on which info should be obtainedrevision
- a target revision
SVNException
- if one of the following is true:
path
is not under version control
path
to
get its information from the repository - there's no such entry
path
is an item that does not exist in
the specified revision
doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler)
public SVNInfo doInfo(SVNURL url, SVNRevision pegRevision, SVNRevision revision) throws SVNException
doInfo(url, pegRevision, revision, SVNDepth.EMPTY, handler)
where handler
just stores SVNInfo
for the url
.
url
- a URL of an item which information is to be
obtainedpegRevision
- a revision in which the item is first looked uprevision
- a target revision
SVNException
- if url
is an item that does not exist in
the specified revision
doInfo(SVNURL, SVNRevision, SVNRevision, SVNDepth, ISVNInfoHandler)
public void doCleanupWCProperties(File directory) throws SVNException
directory
and beneath.
This method does not connect to a repository, it's a local operation only. Nor does it change any user's versioned data. Changes are made only in administrative version control files.
directory
- working copy path
SVNException
public void doSetWCFormat(File directory, int format) throws SVNException
If externals are not ignored
then external working copies
are also converted to the new working copy format
.
This method does not connect to a repository, it's a local operation only. Nor does it change any user's versioned data. Changes are made only in administrative version control files.
directory
- working copy directoryformat
- format to set, supported formats are: 9 (SVN 1.5), 8 (SVN 1.4) and 4 (SVN 1.2)
SVNException
public void doSetProperty(File path, String propName, SVNPropertyValue propValue, boolean force, boolean recursive, ISVNPropertyHandler handler) throws SVNException
doSetProperty(File, String, SVNPropertyValue, boolean, SVNDepth, ISVNPropertyHandler, Collection)
instead
path
- a WC item which properties are to be
modifiedpropName
- a property namepropValue
- a property valueforce
- true to
force the operation to runrecursive
- true to
descend recursivelyhandler
- a caller's property handler
SVNException
- if one of the following is true:
propName
is a revision
property
propName
starts
with the svn:wc:
prefix
|
SVNKit Home | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |