ISvnOperationOptionsProviderpublic class SvnCheckout extends AbstractSvnUpdate<java.lang.Long>
source at revision,
looked up at SvnTarget.getPegRevision(), using target as the
root directory of the newly checked out working copy.
If source SvnTarget.getPegRevision()> is SVNRevision.UNDEFINED or invalid, then it
defaults to SVNRevision.HEAD.
If depth is SVNDepth.INFINITY, checks out fully
recursively. Else if it is SVNDepth.IMMEDIATES, checks out
source target and its immediate entries (subdirectories will be
present, but will be at depth SVNDepth.EMPTY themselves); else
SVNDepth.FILES, checks out source target and its file entries,
but no subdirectories; else if SVNDepth.EMPTY, checks out
source target as an empty directory at that depth, with no entries
present.
If depth is SVNDepth.UNKNOWN, then behave as if for
SVNDepth.INFINITY, except in the case of resuming a previous
checkout of target (i.e., updating), in which case uses the
depth of the existing working copy.
If externals are ignored (ignoreExternals is true), doesn't process
externals definitions as part of this operation.
If isAllowUnversionedObstructions is true
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. If
isAllowUnversionedObstructions is false
then the checkout will abort if there
are any unversioned obstructing items.
If the caller's ISVNEventHandler is non-null,
it is invoked as the checkout processes.
Also ISVNCanceller.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() throws SVNException in the following cases:
exception with SVNErrorCode.UNSUPPORTED_FEATURE
error code - if target's URL refers to a file rather than a directory
exception with SVNErrorCode.RA_ILLEGAL_URL error code
- if target's URL
does not exist, or if external item at the revision doesn't exist,
or if external item at the revision is not file or a directory
exception with SVNErrorCode.WC_OBSTRUCTED_UPDATE error code
- if the working copy item
is already a working copy item for a different URL
exception with SVNErrorCode.WC_NODE_KIND_CHANGE error code
- if local file is already exists with the same name that incoming added directory
exception with SVNErrorCode.ENTRY_MISSING_URL error code
- if working copy item that has no URL
| Modifier | Constructor | Description |
|---|---|---|
protected |
SvnCheckout(SvnOperationFactory factory) |
| 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 copy
|
void |
setSource(SvnTarget source) |
Sets a repository location from where a working copy will be checked out.
|
void |
setTargetWorkingCopyFormat(int targetWorkingCopyFormat) |
getExternalsHandler, isAllowUnversionedObstructions, isIgnoreExternals, isUpdateLocksOnDemand, setAllowUnversionedObstructions, setExternalsHandler, setIgnoreExternals, setUpdateLocksOnDemandclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddTarget, 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, setSqliteJournalModeprotected SvnCheckout(SvnOperationFactory factory)
public SvnTarget getSource()
public void setSource(SvnTarget source)
source - source of repositoryprotected void ensureArgumentsAreValid()
throws SVNException
ensureArgumentsAreValid in class SvnOperation<java.lang.Long>SVNExceptionpublic boolean isChangesWorkingCopy()
isChangesWorkingCopy in class SvnOperation<java.lang.Long>true if the operation changes the working copy, otherwise falsepublic void setTargetWorkingCopyFormat(int targetWorkingCopyFormat)
public int getTargetWorkingCopyFormat()