Package org.tmatesoft.svn.core.wc2
Class SvnCheckout
- java.lang.Object
-
- org.tmatesoft.svn.core.wc2.SvnOperation<V>
-
- org.tmatesoft.svn.core.wc2.AbstractSvnUpdate<java.lang.Long>
-
- org.tmatesoft.svn.core.wc2.SvnCheckout
-
- All Implemented Interfaces:
ISvnOperationOptionsProvider
public class SvnCheckout extends AbstractSvnUpdate<java.lang.Long>
Represents checkout operation. Checks out a working copy ofsource
at revision, looked up atSvnTarget.getPegRevision()
, usingtarget
as the root directory of the newly checked out working copy. If sourceSvnTarget.getPegRevision()
> isSVNRevision.UNDEFINED
or invalid, then it defaults toSVNRevision.HEAD
. Ifdepth is
SVNDepth.INFINITY
, checks out fully recursively. Else if it isSVNDepth.IMMEDIATES
, checks out sourcetarget
and its immediate entries (subdirectories will be present, but will be at depthSVNDepth.EMPTY
themselves); elseSVNDepth.FILES
, checks out sourcetarget
and its file entries, but no subdirectories; else ifSVNDepth.EMPTY
, checks out sourcetarget
as an empty directory at that depth, with no entries present. Ifdepth is
SVNDepth.UNKNOWN
, then behave as if forSVNDepth.INFINITY
, except in the case of resuming a previous checkout oftarget
(i.e., updating), in which case uses the depth of the existing working copy. If externals are ignored (ignoreExternals
istrue
), doesn't process externals definitions as part of this operation. IfisAllowUnversionedObstructions
istrue
then the checkout tolerates existing unversioned items that obstruct added paths from source target. Only obstructions of the same type (file or directory) 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. IfisAllowUnversionedObstructions
isfalse
then the checkout will abort if there are any unversioned obstructing items. If the caller'sISVNEventHandler
is 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).SvnOperation.run()
method returns value of the revision actually checked out from the repository.SvnOperation.run()
throwsSVNException
in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - iftarget
's URL refers to a file rather than a directory exception withSVNErrorCode.RA_ILLEGAL_URL
error code - iftarget
's URL does not exist, or if external item at therevision
doesn't exist, or if external item at therevision
is not file or a directory exception withSVNErrorCode.WC_OBSTRUCTED_UPDATE
error code - if the working copy item is already a working copy item for a different URL exception withSVNErrorCode.WC_NODE_KIND_CHANGE
error code - if local file is already exists with the same name that incoming added directory exception withSVNErrorCode.ENTRY_MISSING_URL
error code - if working copy item that has no URL- Version:
- 1.7
- Author:
- TMate Software Ltd.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SvnCheckout(SvnOperationFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
ensureArgumentsAreValid()
SvnTarget
getSource()
Gets a repository location from where a working copy will be checked out.int
getTargetWorkingCopyFormat()
boolean
isChangesWorkingCopy()
Gets whether the operation changes working copyvoid
setSource(SvnTarget source)
Sets a repository location from where a working copy will be checked out.void
setTargetWorkingCopyFormat(int targetWorkingCopyFormat)
-
Methods inherited from class org.tmatesoft.svn.core.wc2.AbstractSvnUpdate
getExternalsHandler, isAllowUnversionedObstructions, isIgnoreExternals, isUpdateLocksOnDemand, setAllowUnversionedObstructions, setExternalsHandler, setIgnoreExternals, setUpdateLocksOnDemand
-
Methods inherited from class org.tmatesoft.svn.core.wc2.SvnOperation
addTarget, cancel, ensureEnoughTargets, ensureHomohenousTargets, getApplicableChangelists, getAuthenticationManager, getCanceller, getDepth, getEventHandler, getFirstTarget, getMaximumTargetsCount, getMinimumTargetsCount, getOperationalWorkingCopy, getOperationFactory, getOptions, getRepositoryPool, getRevision, getSqliteJournalMode, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, initDefaults, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp, setSqliteJournalMode
-
-
-
-
Constructor Detail
-
SvnCheckout
protected SvnCheckout(SvnOperationFactory factory)
-
-
Method Detail
-
getSource
public SvnTarget getSource()
Gets a repository location from where a working copy will be checked out.- Returns:
- source of repository
-
setSource
public void setSource(SvnTarget source)
Sets a repository location from where a working copy will be checked out.- Parameters:
source
- source of repository
-
ensureArgumentsAreValid
protected void ensureArgumentsAreValid() throws SVNException
- Overrides:
ensureArgumentsAreValid
in classSvnOperation<java.lang.Long>
- Throws:
SVNException
-
isChangesWorkingCopy
public boolean isChangesWorkingCopy()
Gets whether the operation changes working copy- Overrides:
isChangesWorkingCopy
in classSvnOperation<java.lang.Long>
- Returns:
true
if the operation changes the working copy, otherwisefalse
-
setTargetWorkingCopyFormat
public void setTargetWorkingCopyFormat(int targetWorkingCopyFormat)
-
getTargetWorkingCopyFormat
public int getTargetWorkingCopyFormat()
-
-