org.tmatesoft.svn.core.wc2
Class SvnCheckout

java.lang.Object
  extended by org.tmatesoft.svn.core.wc2.SvnOperation<V>
      extended by org.tmatesoft.svn.core.wc2.AbstractSvnUpdate<java.lang.Long>
          extended by 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 of 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:


Constructor Summary
protected SvnCheckout(SvnOperationFactory factory)
           
 
Method Summary
protected  void ensureArgumentsAreValid()
           
 SvnTarget getSource()
          Gets a repository location from where a working copy will be checked out.
 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.
 
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, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, initDefaults, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 class SvnOperation<java.lang.Long>
Throws:
SVNException

isChangesWorkingCopy

public boolean isChangesWorkingCopy()
Gets whether the operation changes working copy

Overrides:
isChangesWorkingCopy in class SvnOperation<java.lang.Long>
Returns:
true if the operation changes the working copy, otherwise false