java.lang.Objectorg.tmatesoft.svn.core.wc.SVNBasicClient
org.tmatesoft.svn.core.wc.SVNUpdateClient
public class SVNUpdateClient
extends
SVNBasicClient
This class provides methods which allow to check out, update, switch and relocate a Working Copy as well as export an unversioned directory or file from a repository.
Here's a list of the SVNUpdateClient's methods matched against corresponing commands of the SVN command line client:
| SVNKit | Subversion |
| doCheckout() | 'svn checkout' |
| doUpdate() | 'svn update' |
| doSwitch() | 'svn switch' |
| doRelocate() | 'svn switch --relocate oldURL newURL' |
| doExport() | 'svn export' |
-
Since:
- 1.2 See Also:
- Examples
| Constructor Summary | |
|---|---|
SVNUpdateClient(ISVNAuthenticationManager authManager, ISVNOptions options) Constructs and initializes an SVNUpdateClient object with the specified run-time configuration and authentication drivers. | |
SVNUpdateClient(ISVNRepositoryPool repositoryPool, ISVNOptions options) Constructs and initializes an SVNUpdateClient object with the specified run-time configuration and authentication drivers. | |
| Method Summary | |
|---|---|
void | doCanonicalizeURLs(java.io.File dst, boolean omitDefaultPort, boolean recursive) Canonicalizes all urls in the specified Working Copy. |
long | doCheckout(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, boolean recursive) Deprecated. use doCheckout(SVNURL, File, SVNRevision, SVNRevision, SVNDepth, boolean) instead |
long | doCheckout(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, boolean recursive, boolean force) Deprecated. use doCheckout(SVNURL, File, SVNRevision, SVNRevision, SVNDepth, boolean) instead |
long | doCheckout(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, boolean allowUnversionedObstructions) Checks out a working copy of url at revision, looked up at pegRevision, using dstPath as the root directory of the newly checked out working copy. |
long | doExport(java.io.File srcPath, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, java.lang.String eolStyle, boolean force, boolean recursive) Deprecated. use doExport(File, File, SVNRevision, SVNRevision, String, boolean, SVNDepth) |
long | doExport(java.io.File srcPath, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, java.lang.String eolStyle, boolean overwrite, SVNDepth depth) Exports the contents of either a subversion repository or a subversion working copy into a 'clean' directory (meaning a directory with no administrative directories). |
long | doExport(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, java.lang.String eolStyle, boolean force, boolean recursive) Deprecated. use doExport(SVNURL, File, SVNRevision, SVNRevision, String, boolean, SVNDepth) |
long | doExport(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, java.lang.String eolStyle, boolean overwrite, SVNDepth depth) Exports the contents of a subversion repository into a 'clean' directory (meaning a directory with no administrative directories). |
void | doRelocate(java.io.File dst, SVNURL oldURL, SVNURL newURL, boolean recursive) Substitutes the beginning part of a Working Copy's URL with a new one. |
long | doSwitch(java.io.File file, SVNURL url, SVNRevision revision, boolean recursive) Deprecated. use doSwitch(File, SVNURL, SVNRevision, SVNRevision, SVNDepth, boolean, boolean) instead |
long | doSwitch(java.io.File file, SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean recursive) Deprecated. use doSwitch(File, SVNURL, SVNRevision, SVNRevision, SVNDepth, boolean, boolean) instead |
long | doSwitch(java.io.File file, SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean recursive, boolean force) Deprecated. use doSwitch(File, SVNURL, SVNRevision, SVNRevision, SVNDepth, boolean, boolean) instead |
long | doSwitch(java.io.File path, SVNURL url, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, boolean allowUnversionedObstructions, boolean depthIsSticky) Switches working tree path to url\ pegRevision at revision. |
long | doSwitch(java.io.File path, SVNURL url, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, boolean allowUnversionedObstructions, boolean depthIsSticky, boolean ignoreAncestry) |
long[] | doUpdate(java.io.File[] paths, SVNRevision revision, SVNDepth depth, boolean allowUnversionedObstructions, boolean depthIsSticky) Updates working trees paths to revision. |
long[] | doUpdate(java.io.File[] paths, SVNRevision revision, SVNDepth depth, boolean allowUnversionedObstructions, boolean depthIsSticky, boolean makeParents) |
long | doUpdate(java.io.File file, SVNRevision revision, boolean recursive) Deprecated. use doUpdate(File, SVNRevision, SVNDepth, boolean, boolean) instead |
long | doUpdate(java.io.File file, SVNRevision revision, boolean recursive, boolean force) Deprecated. use doUpdate(File, SVNRevision, SVNDepth, boolean, boolean) instead |
long | doUpdate(java.io.File path, SVNRevision revision, SVNDepth depth, boolean allowUnversionedObstructions, boolean depthIsSticky) Updates working copy to revision. |
ISVNExternalsHandler | getExternalsHandler() Returns an externals handler used by this update client. |
boolean | isExportExpandsKeywords() Says whether keywords expansion during export operations is turned on or not. |
boolean | isUpdateLocksOnDemand() Says whether the entire working copy should be locked while updating or not. |
void | setExportExpandsKeywords(boolean expand) Sets whether keywords must be expanded during an export operation. |
void | setExternalsHandler(ISVNExternalsHandler externalsHandler) Sets an externals handler to be used by this client object. |
void | setUpdateLocksOnDemand(boolean locksOnDemand) Sets whether working copies should be locked on demand or not during an update process. |
| Methods inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient |
|---|
dontWC17Support, getDebugLog, getOperationsFactory, getOptions, getPathListHandler, getReposRoot, getReposRoot, isIgnoreExternals, isLeaveConflictsUnresolved, isWC17Supported, setDebugLog,setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, setPathListHandler |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
SVNUpdateClient
public SVNUpdateClient(ISVNAuthenticationManager authManager, ISVNOptions options)
-
Constructs and initializes an
SVNUpdateClient object with the specified run-time configuration and authentication drivers.
If
optionsis null, then this SVNUpdateClient 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 onISVNOptionsandSVNWCUtil).If
authManageris null, then this SVNUpdateClient will be using a default authentication and network layers driver (seeSVNWCUtil.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).-
Parameters:
-
authManager- an authentication and network layers driver -
options- a run-time configuration options driver
-
SVNUpdateClient
public SVNUpdateClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
-
Constructs and initializes an
SVNUpdateClient object with the specified run-time configuration and authentication drivers.
If
optionsis null, then this SVNUpdateClient 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 onISVNOptionsandSVNWCUtil).If
repositoryPoolis null, thenSVNRepositoryFactorywill be used to createrepository access objects.-
Parameters:
-
repositoryPool- a repository pool object -
options- a run-time configuration options driver
-
| Method Detail |
|---|
setExternalsHandler
public void setExternalsHandler(ISVNExternalsHandler externalsHandler)
- Sets an externals handler to be used by this client object.
-
-
Parameters:
-
externalsHandler- user's implementation ofISVNExternalsHandler
Since:
- 1.2 See Also:
-
getExternalsHandler()
-
getExternalsHandler
public ISVNExternalsHandler getExternalsHandler()
-
Returns an externals handler used by this update client.
If no user's handler is provided then
ISVNExternalsHandler.DEFAULTis returned and used by this client object by default.For more information what externals handlers are for, please, refer to
ISVNExternalsHandler. -
-
Returns:
- externals handler being in use Since:
- 1.2 See Also:
-
setExternalsHandler(ISVNExternalsHandler)
doUpdate
public long doUpdate(java.io.File file,
SVNRevision revision,
boolean recursive)
throws SVNException
-
Deprecated.
use
doUpdate(File, SVNRevision, SVNDepth, boolean, boolean)instead -
Brings the Working Copy item up-to-date with repository changes at the specified revision.
As a revision SVNRevision's pre-defined constant fields can be used. For example, to update the Working Copy to the latest revision of the repository use
HEAD. -
-
Parameters:
-
file- the Working copy item to be updated -
revision- the desired revision against which the item will be updated -
recursive- if true andfileis a directory then the entire tree will be updated, otherwise if false - only items located immediately in the directory itself
Returns:
-
the revision number to which
filewas updated to
Throws:
-
SVNException
-
doUpdate
public long doUpdate(java.io.File file,
SVNRevision revision,
boolean recursive,
boolean force)
throws SVNException
-
Deprecated.
use
doUpdate(File, SVNRevision, SVNDepth, boolean, boolean)instead -
-
Parameters:
-
file- -
revision- -
recursive- -
force-
Returns:
- actual revision number Throws:
-
SVNException
-
doUpdate
public long[] doUpdate(java.io.File[] paths,
SVNRevision revision,
SVNDepth depth,
boolean allowUnversionedObstructions,
boolean depthIsSticky)
throws SVNException
-
Updates working trees
pathstorevision. Unversioned paths that are direct children of a versioned path will cause an update that attempts to add that path, other unversioned paths are skipped.revisionmust represent a valid revision number (SVNRevision.getNumber()>= 0), or date (SVNRevision.getDate()!= true), or be equal toSVNRevision.HEAD. Ifrevisiondoes not meet these requirements, an exception with the error codeSVNErrorCode.CLIENT_BAD_REVISIONis thrown.The paths in
pathscan be from multiple working copies from multiple repositories, but even if they all come from the same repository there is no guarantee that revision represented bySVNRevision.HEADwill remain the same as each path is updated.If externals are
ignored, doesn't process externals definitions as part of this operation.If
depthisSVNDepth.INFINITY, updates fully recursively. Else if it isSVNDepth.IMMEDIATESorSVNDepth.FILES, updates each target and its file entries, but not its subdirectories. Else ifSVNDepth.EMPTY, updates exactly each target, nonrecursively (essentially, updates the target's properties).If
depthisSVNDepth.UNKNOWN, takes the working depth frompathsand then behaves as described above.If
depthIsStickyis set anddepthis notSVNDepth.UNKNOWN, then in addition to updatingpaths, also sets their sticky ambient depth value todepth.If
allowUnversionedObstructionsis true then the update tolerates existing unversioned items that obstruct added paths. Only obstructions of the same type (file or dir) as the added item are tolerated. The text of obstructing files is left as-is, effectively treating it as a user modification after the update. Working properties of obstructing items are set equal to the base properties. IfallowUnversionedObstructionsis false then the update will abort if there are any unversioned obstructing items.If the caller's
ISVNEventHandleris non-null, it is invoked for each item handled by the update, and also for files restored from text-base. AlsoISVNCanceller.checkCancelled()will be used at various places during the update to check whether the caller wants to stop the update.Before updating a next path from
pathsthis method calls#handlePathListItem(File)passing the path to it.This operation requires repository access (in case the repository is not on the same machine, network connection is established).
-
-
Parameters:
-
paths- working copy paths -
revision- revision to update to -
depth- tree depth to update -
allowUnversionedObstructions- flag that allows tollerating unversioned items during update -
depthIsSticky- flag that controls whether the requested depth should be written to the working copy
Returns:
-
an array of
longrevisions with each element set to the revision to whichrevisionwas resolved
Throws:
-
SVNException
Since:
- 1.2, SVN 1.5
-
doUpdate
public long[] doUpdate(java.io.File[] paths,
SVNRevision revision,
SVNDepth depth,
boolean allowUnversionedObstructions,
boolean depthIsSticky,
boolean makeParents)
throws SVNException
-
-
Throws:
-
SVNException
-
doUpdate
public long doUpdate(java.io.File path,
SVNRevision revision,
SVNDepth depth,
boolean allowUnversionedObstructions,
boolean depthIsSticky)
throws SVNException
-
Updates working copy
torevision. Unversioned paths that are direct children of a versioned path will cause an update that attempts to add that path, other unversioned paths are skipped.revisionmust represent a valid revision number (SVNRevision.getNumber()>= 0), or date (SVNRevision.getDate()!= true), or be equal toSVNRevision.HEAD. Ifrevisiondoes not meet these requirements, an exception with the error codeSVNErrorCode.CLIENT_BAD_REVISIONis thrown.If externals are
ignored, doesn't process externals definitions as part of this operation.If
depthisSVNDepth.INFINITY, updates fully recursively. Else if it isSVNDepth.IMMEDIATESorSVNDepth.FILES, updatespathand its file entries, but not its subdirectories. Else ifSVNDepth.EMPTY, updates exactlypath, nonrecursively (essentially, updates the target's properties).If
depthisSVNDepth.UNKNOWN, takes the working depth frompathand then behaves as described above.If
depthIsStickyis set anddepthis notSVNDepth.UNKNOWN, then in addition to updatingpath, also sets its sticky ambient depth value todepth.IfallowUnversionedObstructionsis true then the update tolerates existing unversioned items that obstruct added paths. Only obstructions of the same type (file or dir) as the added item are tolerated. The text of obstructing files is left as-is, effectively treating it as a user modification after the update. Working properties of obstructing items are set equal to the base properties. IfallowUnversionedObstructionsis false then the update will abort if there are any unversioned obstructing items.If the caller'sISVNEventHandleris non-null, it is invoked for each item handled by the update, and also for files restored from text-base. AlsoISVNCanceller.checkCancelled()will be used at various places during the update to check whether the caller wants to stop the update.This operation requires repository access (in case the repository is not on the same machine, network connection is established). -
-
path- working copy path -
revision- revision to update to -
depth- tree depth to update -
allowUnversionedObstructions- flag that allows tollerating unversioned items during update -
depthIsSticky- flag that controls whether the requested depth should be written to the working copy
Returns:
-
revision to which
revisionwas resolved
Throws:
-
SVNException
Since:
- 1.2, SVN 1.5
Parameters: -
setUpdateLocksOnDemand
public void setUpdateLocksOnDemand(boolean locksOnDemand)
-
Sets whether working copies should be locked on demand or not during an update process.
For additional description, please, refer to
isUpdateLocksOnDemand(). -
-
Parameters:
-
locksOnDemand- true to make update lock a working copy tree on demand only (for those subdirectories only which will be changed by update)
-
isUpdateLocksOnDemand
public boolean isUpdateLocksOnDemand()
-
Says whether the entire working copy should be locked while updating or not.
If this method returns false, then the working copy will be closed for all paths involved in the update. Otherwise only those working copy subdirectories will be locked, which will be either changed by the update or which contain deleted files that should be restored during the update; all other versioned subdirectories than won't be touched by the update will remain opened for read only access without locking.
Locking working copies on demand is intended to improve update performance for large working copies because even a no-op update on a huge working copy always locks the entire tree by default. And locking a working copy tree means opening special lock files for privileged access for all subdirectories involved. This makes an update process work slower. Locking wc on demand feature suggests such a workaround to enhance update performance.
-
-
Returns:
- true when locking wc on demand
doSwitch
public long doSwitch(java.io.File file,
SVNURL url,
SVNRevision revision,
boolean recursive)
throws SVNException
-
Deprecated.
use
doSwitch(File, SVNURL, SVNRevision, SVNRevision, SVNDepth, boolean, boolean)instead -
Updates the Working Copy item to mirror a new URL.
As a revision SVNRevision's pre-defined constant fields can be used. For example, to update the Working Copy to the latest revision of the repository use
HEAD.Calling this method is equivalent to
doSwitch(file, url, SVNRevision.UNDEFINED, revision, recursive). -
-
Parameters:
-
file- the Working copy item to be switched -
url- the repository location as a target against which the item will be switched -
revision- the desired revision of the repository target -
recursive- if true andfileis a directory then the entire tree will be updated, otherwise if false - only items located immediately in the directory itself
Returns:
-
the revision number to which
filewas updated to
Throws:
-
SVNException
-
doSwitch
public long doSwitch(java.io.File file,
SVNURL url,
SVNRevision pegRevision,
SVNRevision revision,
boolean recursive)
throws SVNException
-
Deprecated.
use
doSwitch(File, SVNURL, SVNRevision, SVNRevision, SVNDepth, boolean, boolean)instead -
Updates the Working Copy item to mirror a new URL.
As a revision SVNRevision's pre-defined constant fields can be used. For example, to update the Working Copy to the latest revision of the repository use
HEAD. -
-
Parameters:
-
file- the Working copy item to be switched -
url- the repository location as a target against which the item will be switched -
pegRevision- a revision in whichfileis first looked up in the repository -
revision- the desired revision of the repository target -
recursive- if true andfileis a directory then the entire tree will be updated, otherwise if false - only items located immediately in the directory itself
Returns:
-
the revision number to which
filewas updated to
Throws:
-
SVNException
-
doSwitch
public long doSwitch(java.io.File file,
SVNURL url,
SVNRevision pegRevision,
SVNRevision revision,
boolean recursive,
boolean force)
throws SVNException
-
Deprecated.
use
doSwitch(File, SVNURL, SVNRevision, SVNRevision, SVNDepth, boolean, boolean)instead -
-
Parameters:
-
file- -
url- -
pegRevision- -
revision- -
recursive- -
force-
Returns:
- actual revision number Throws:
-
SVNException
-
doSwitch
public long doSwitch(java.io.File path,
SVNURL url,
SVNRevision pegRevision,
SVNRevision revision,
SVNDepth depth,
boolean allowUnversionedObstructions,
boolean depthIsSticky)
throws SVNException
-
Switches working tree
pathtourl\pegRevisionatrevision.Summary of purpose: this is normally used to switch a working directory over to another line of development, such as a branch or a tag. Switching an existing working directory is more efficient than checking out
urlfrom scratch.revisionmust represent a valid revision number (SVNRevision.getNumber()>= 0), or date (SVNRevision.getDate()!= true), or be equal toSVNRevision.HEAD. Ifrevisiondoes not meet these requirements, an exception with the error codeSVNErrorCode.CLIENT_BAD_REVISIONis thrown.If
depthisSVNDepth.INFINITY, switches fully recursively. Else if it isSVNDepth.IMMEDIATES, switchespathand its file children (if any), and switches subdirectories but does not update them. Else ifSVNDepth.FILES, switches just file children, ignoring subdirectories completely. Else ifSVNDepth.EMPTY, switches justpathand touches nothing underneath it.If
depthIsStickyis set anddepthis notSVNDepth.UNKNOWN, then in addition to switchingpath, also sets its sticky ambient depth value todepth.If externals are
ignored, doesn't process externals definitions as part of this operation.If
allowUnversionedObstructionsis true then the switch tolerates existing unversioned items that obstruct added paths. Only obstructions of the same type (file or dir) as the added item are tolerated. The text of obstructing files is left as-is, effectively treating it as a user modification after the switch. Working properties of obstructing items are set equal to the base properties. IfallowUnversionedObstructionsis false then the switch will abort if there are any unversioned obstructing items.If the caller's
ISVNEventHandleris non-null, it is invoked for paths affected by the switch, and also for files restored from text-base. AlsoISVNCanceller.checkCancelled()will be used at various places during the switch to check whether the caller wants to stop the switch.This operation requires repository access (in case the repository is not on the same machine, network connection is established).
-
-
Parameters:
-
path- the Working copy item to be switched -
url- the repository location as a target against which the item will be switched -
pegRevision- a revision in whichpathis first looked up in the repository -
revision- the desired revision of the repository target -
depth- tree depth to update -
allowUnversionedObstructions- flag that allows tollerating unversioned items during update -
depthIsSticky- flag that controls whether the requested depth should be written into the working copy
Returns:
- value of the revision to which the working copy was actually switched Throws:
-
SVNException
Since:
- 1.2, SVN 1.5
-
doSwitch
public long doSwitch(java.io.File path,
SVNURL url,
SVNRevision pegRevision,
SVNRevision revision,
SVNDepth depth,
boolean allowUnversionedObstructions,
boolean depthIsSticky,
boolean ignoreAncestry)
throws SVNException
-
-
Throws:
-
SVNException
-
doCheckout
public long doCheckout(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, boolean recursive) throws SVNException
-
Deprecated.
use
doCheckout(SVNURL, File, SVNRevision, SVNRevision, SVNDepth, boolean)instead -
Checks out a Working Copy from a repository.
If the destination path (
dstPath) is null then the last component ofurlis used for the local directory name.As a revision SVNRevision's pre-defined constant fields can be used. For example, to check out a Working Copy at the latest revision of the repository use
HEAD. -
-
Parameters:
-
url- a repository location from where a Working Copy will be checked out -
dstPath- the local path where the Working Copy will be placed -
pegRevision- the revision at whichurlwill be firstly seen in the repository to make sure it's the one that is needed -
revision- the desired revision of the Working Copy to be checked out -
recursive- if true andurlis a directory then the entire tree will be checked out, otherwise if false - only items located immediately in the directory itself
Returns:
- the revision number of the Working Copy Throws:
-
SVNException-urlrefers to a file, not a directory;dstPathalready exists but it is a file, not a directory;dstPathalready exists and is a versioned directory but has a different URL (repository location against which the directory is controlled)
-
doCheckout
public long doCheckout(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, boolean recursive, boolean force) throws SVNException
-
Deprecated.
use
doCheckout(SVNURL, File, SVNRevision, SVNRevision, SVNDepth, boolean)instead -
-
Parameters:
-
url- -
dstPath- -
pegRevision- -
revision- -
recursive- -
force-
Returns:
- actual revision number Throws:
-
SVNException
-
doCheckout
public long doCheckout(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, boolean allowUnversionedObstructions) throws SVNException
-
Checks out a working copy of
urlatrevision, looked up atpegRevision, usingdstPathas the root directory of the newly checked out working copy.If
pegRevisionisSVNRevision.UNDEFINED, then it defaults toSVNRevision.HEAD.revisionmust represent a valid revision number (SVNRevision.getNumber()>= 0), or date (SVNRevision.getDate()!= true), or be equal toSVNRevision.HEAD. Ifrevisiondoes not meet these requirements, an exception with the error codeSVNErrorCode.CLIENT_BAD_REVISIONis thrown.If
depthisSVNDepth.INFINITY, checks out fully recursively. Else if it isSVNDepth.IMMEDIATES, checks outurland its immediate entries (subdirectories will be present, but will be at depthSVNDepth.EMPTYthemselves); elseSVNDepth.FILES, checks outurland its file entries, but no subdirectories; else ifSVNDepth.EMPTY, checks outurlas an empty directory at that depth, with no entries present.If
depthisSVNDepth.UNKNOWN, then behave as if forSVNDepth.INFINITY, except in the case of resuming a previous checkout ofdstPath(i.e., updating), in which case uses the depth of the existing working copy.If externals are
ignored, doesn't process externals definitions as part of this operation.If
allowUnversionedObstructionsis true then the checkout tolerates existing unversioned items that obstruct added paths fromurl. Only obstructions of the same type (file or dir) as the added item are tolerated. The text of obstructing files is left as-is, effectively treating it as a user modification after the checkout. Working properties of obstructing items are set equal to the base properties. IfallowUnversionedObstructionsis false then the checkout will abort if there are any unversioned obstructing items.If the caller's
ISVNEventHandleris non-null, it is invoked as the checkout processes. AlsoISVNCanceller.checkCancelled()will be used at various places during the checkout to check whether the caller wants to stop the checkout.This operation requires repository access (in case the repository is not on the same machine, network connection is established).
-
-
Parameters:
-
url- a repository location from where a Working Copy will be checked out -
dstPath- the local path where the Working Copy will be placed -
pegRevision- the revision at whichurlwill be firstly seen in the repository to make sure it's the one that is needed -
revision- the desired revision of the Working Copy to be checked out -
depth- tree depth -
allowUnversionedObstructions- flag that allows tollerating unversioned items during
Returns:
- value of the revision actually checked out from the repository Throws:
-
SVNException-SVNErrorCode.UNSUPPORTED_FEATURE- ifurlrefers to a file rather than a directorySVNErrorCode.RA_ILLEGAL_URL- ifurldoes not exist
Since:
- 1.2, SVN 1.5
-
doExport
public long doExport(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, java.lang.String eolStyle, boolean force, boolean recursive) throws SVNException
-
Deprecated.
use
doExport(SVNURL, File, SVNRevision, SVNRevision, String, boolean, SVNDepth) -
Exports a clean directory or single file from a repository.
If
eolStyleis not null then it should denote a specific End-Of-Line marker for the files to be exported. Significant values foreolStyleare:- "CRLF" (Carriage Return Line Feed) - this causes files to contain '\r\n' line ending sequences for EOL markers, regardless of the operating system in use (for instance, this EOL marker is used by software on the Windows platform).
- "LF" (Line Feed) - this causes files to contain '\n' line ending sequences for EOL markers, regardless of the operating system in use (for instance, this EOL marker is used by software on the Unix platform).
- "CR" (Carriage Return) - this causes files to contain '\r' line ending sequences for EOL markers, regardless of the operating system in use (for instance, this EOL marker was used by software on older Macintosh platforms).
- "native" - this causes files to contain the EOL markers that are native to the operating system on which SVNKit is run.
-
-
Parameters:
-
url- a repository location from where the unversioned directory/file will be exported -
dstPath- the local path where the repository items will be exported to -
pegRevision- the revision at whichurlwill be firstly seen in the repository to make sure it's the one that is needed -
revision- the desired revision of the directory/file to be exported -
eolStyle- a string that denotes a specific End-Of-Line charecter; -
force- true to fore the operation even if there are local files with the same names as those in the repository (local ones will be replaced) -
recursive- if true andurlis a directory then the entire tree will be exported, otherwise if false - only items located immediately in the directory itself
Returns:
- the revision number of the exported directory/file Throws:
-
SVNException
-
doExport
public long doExport(SVNURL url, java.io.File dstPath, SVNRevision pegRevision, SVNRevision revision, java.lang.String eolStyle, boolean overwrite, SVNDepth depth) throws SVNException
-
Exports the contents of a subversion repository into a 'clean' directory (meaning a directory with no administrative directories).
pegRevisionis the revision where the path is first looked up. IfpegRevisionisSVNRevision.UNDEFINED, then it defaults toSVNRevision.HEAD.If externals are
ignored, doesn't process externals definitions as part of this operation.eolStyleallows you to override the standard eol marker on the platform you are running on. Can be either "LF", "CR" or "CRLF" or null. If null will use the standard eol marker. Any other value will cause an exception with the error codeSVNErrorCode.IO_UNKNOWN_EOLerror to be returned.If
depthisSVNDepth.INFINITY, exports fully recursively. Else if it isSVNDepth.IMMEDIATES, exportsurland its immediate children (if any), but with subdirectories empty and atSVNDepth.EMPTY. Else ifSVNDepth.FILES, exportsurland its immediate file children (if any) only. IfdepthisSVNDepth.EMPTY, then exports exactlyurland none of its children. -
-
Parameters:
-
url- repository url to export from -
dstPath- path to export to -
pegRevision- the revision at whichurlwill be firstly seen in the repository to make sure it's the one that is needed -
revision- the desired revision of the directory/file to be exported -
eolStyle- a string that denotes a specific End-Of-Line charecter -
overwrite- if true, will cause the export to overwrite files or directories -
depth- tree depth
Returns:
- value of the revision actually exported Throws:
-
SVNException
Since:
- 1.2, SVN 1.5
-
doExport
public long doExport(java.io.File srcPath,
java.io.File dstPath,
SVNRevision pegRevision,
SVNRevision revision,
java.lang.String eolStyle,
boolean force,
boolean recursive)
throws SVNException
-
Deprecated.
use
doExport(File, File, SVNRevision, SVNRevision, String, boolean, SVNDepth) -
Exports a clean directory or single file from eihter a source Working Copy or a repository.
How this method works:
- If
revisionis different fromBASE,WORKING,COMMITTED,UNDEFINED- then the repository origin ofsrcPathwill be exported (what is done by "remote"doExport()). - In other cases a clean unversioned copy of
srcPath- either a directory or a single file - is exported todstPath.
If
eolStyleis not null then it should denote a specific End-Of-Line marker for the files to be exported. Significant values foreolStyleare:- "CRLF" (Carriage Return Line Feed) - this causes files to contain '\r\n' line ending sequences for EOL markers, regardless of the operating system in use (for instance, this EOL marker is used by software on the Windows platform).
- "LF" (Line Feed) - this causes files to contain '\n' line ending sequences for EOL markers, regardless of the operating system in use (for instance, this EOL marker is used by software on the Unix platform).
- "CR" (Carriage Return) - this causes files to contain '\r' line ending sequences for EOL markers, regardless of the operating system in use (for instance, this EOL marker was used by software on older Macintosh platforms).
- "native" - this causes files to contain the EOL markers that are native to the operating system on which SVNKit is run.
- If
-
-
Parameters:
-
srcPath- a repository location from where the unversioned directory/file will be exported -
dstPath- the local path where the repository items will be exported to -
pegRevision- the revision at whichurlwill be firstly seen in the repository to make sure it's the one that is needed -
revision- the desired revision of the directory/file to be exported -
eolStyle- a string that denotes a specific End-Of-Line charecter; -
force- true to fore the operation even if there are local files with the same names as those in the repository (local ones will be replaced) -
recursive- if true andurlis a directory then the entire tree will be exported, otherwise if false - only items located immediately in the directory itself
Returns:
- the revision number of the exported directory/file Throws:
-
SVNException
-
doExport
public long doExport(java.io.File srcPath,
java.io.File dstPath,
SVNRevision pegRevision,
SVNRevision revision,
java.lang.String eolStyle,
boolean overwrite,
SVNDepth depth)
throws SVNException
-
Exports the contents of either a subversion repository or a subversion working copy into a 'clean' directory (meaning a directory with no administrative directories).
pegRevisionis the revision where the path is first looked up when exporting from a repository. IfpegRevisionisSVNRevision.UNDEFINED, then it defaults toSVNRevision.WORKING.If
then local export is performed. Otherwise exporting from the repository.revisionis one of:If externals are
ignored, doesn't process externals definitions as part of this operation.eolStyleallows you to override the standard eol marker on the platform you are running on. Can be either "LF", "CR" or "CRLF" or null. If null will use the standard eol marker. Any other value will cause an exception with the error codeSVNErrorCode.IO_UNKNOWN_EOLerror to be returned.If
depthisSVNDepth.INFINITY, exports fully recursively. Else if it isSVNDepth.IMMEDIATES, exportssrcPathand its immediate children (if any), but with subdirectories empty and atSVNDepth.EMPTY. Else ifSVNDepth.FILES, exportssrcPathand its immediate file children (if any) only. IfdepthisSVNDepth.EMPTY, then exports exactlysrcPathand none of its children. -
-
Parameters:
-
srcPath- working copy path -
dstPath- path to export to -
pegRevision- the revision at whichurlwill be firstly seen in the repository to make sure it's the one that is needed -
revision- the desired revision of the directory/file to be exported; used only when exporting from a repository -
eolStyle- a string that denotes a specific End-Of-Line charecter -
overwrite- if true, will cause the export to overwrite files or directories -
depth- tree depth
Returns:
- value of the revision actually exported Throws:
-
SVNException
Since:
- 1.2, SVN 1.5
-
doRelocate
public void doRelocate(java.io.File dst,
SVNURL oldURL,
SVNURL newURL,
boolean recursive)
throws SVNException
-
Substitutes the beginning part of a Working Copy's URL with a new one.
When a repository root location or a URL schema is changed the old URL of the Working Copy which starts with
oldURLshould be substituted for a new URL beginning -newURL. -
-
Parameters:
-
dst- a Working Copy item's path -
oldURL- the old beginning part of the repository's URL that should be overwritten -
newURL- a new beginning part for the repository location that will overwriteoldURL -
recursive- if true anddstis a directory then the entire tree will be relocated, otherwise if false - onlydstitself
Throws:
-
SVNException
-
doCanonicalizeURLs
public void doCanonicalizeURLs(java.io.File dst,
boolean omitDefaultPort,
boolean recursive)
throws SVNException
- Canonicalizes all urls in the specified Working Copy.
-
-
Parameters:
-
dst- a WC path -
omitDefaultPort- if true then removes all port numbers from urls which equal to default ones, otherwise does not -
recursive- recurses an operation
Throws:
-
SVNException
-
setExportExpandsKeywords
public void setExportExpandsKeywords(boolean expand)
- Sets whether keywords must be expanded during an export operation.
-
-
Parameters:
-
expand- true to expand; otherwise false
Since:
- 1.3
-
isExportExpandsKeywords
public boolean isExportExpandsKeywords()
- Says whether keywords expansion during export operations is turned on or not.
-
-
Returns:
- true if expanding keywords; false otherwise Since:
- 1.3
本文档详细介绍了 SVNUpdateClient 类的功能与使用方法,包括如何进行工作副本的更新、切换、重新定位等操作。提供了与 Subversion 命令行客户端对应的方法说明,并解释了各个方法的参数含义。


4万+

被折叠的 条评论
为什么被折叠?



