SVNKit Home

org.tmatesoft.svn.core.wc
Class SVNCopyClient

java.lang.Object
  extended byorg.tmatesoft.svn.core.wc.SVNBasicClient
      extended byorg.tmatesoft.svn.core.wc.SVNCopyClient
All Implemented Interfaces:
ISVNCanceller, ISVNEventHandler

public class SVNCopyClient
extends SVNBasicClient

The SVNCopyClient provides methods to perform any kinds of copying and moving that SVN supports - operating on both Working Copies (WC) and URLs.

Copy operations allow a user to copy versioned files and directories with all their previous history in several ways.

Supported copy operations are:

Besides just copying SVNCopyClient also is able to move a versioned item - that is first making a copy of the source item and then scheduling the source item for deletion when operating on a Working Copy, or right committing the deletion of the source item when operating immediately on the repository.

Supported move operations are:

Overloaded doCopy() methods of SVNCopyClient are similar to 'svn copy' and 'svn move' commands of the SVN command line client.

Version:
1.1.1
Author:
TMate Software Ltd.
See Also:
Examples

Nested Class Summary
 
Nested classes inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient
SVNBasicClient.RepositoryReference, SVNBasicClient.SVNRepositoryLocation
 
Field Summary
 
Fields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler
UNKNOWN
 
Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller
NULL
 
Constructor Summary
SVNCopyClient(ISVNAuthenticationManager authManager, ISVNOptions options)
          Constructs and initializes an SVNCopyClient object with the specified run-time configuration and authentication drivers.
SVNCopyClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
           
 
Method Summary
 void doCopy(File srcPath, SVNRevision srcRevision, File dstPath, boolean force, boolean isMove)
          Copies/moves a source Working Copy path to a destination Working Copy path.
 SVNCommitInfo doCopy(File srcPath, SVNRevision srcRevision, SVNURL dstURL, boolean failWhenDstExists, String commitMessage)
          Copies a source Working Copy path (or its repository location URL) to a destination URL immediately committing changes to a repository.
 SVNCommitInfo doCopy(File srcPath, SVNRevision srcRevision, SVNURL dstURL, String commitMessage)
          Copies a source Working Copy path (or its repository location URL) to a destination URL immediately committing changes to a repository.
 long doCopy(SVNURL srcURL, SVNRevision srcRevision, File dstPath)
          Copies a source URL to a destination Working Copy path.
 SVNCommitInfo doCopy(SVNURL srcURL, SVNRevision srcRevision, SVNURL dstURL, boolean isMove, boolean failWhenDstExists, String commitMessage)
          Copies/moves a source URL to a destination one immediately committing changes to a repository.
 SVNCommitInfo doCopy(SVNURL srcURL, SVNRevision srcRevision, SVNURL dstURL, boolean isMove, String commitMessage)
          Copies/moves a source URL to a destination one immediately committing changes to a repository.
 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.
 ISVNCommitParameters getCommitParameters()
          Returns commit parameters.
 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 setCommitParameters(ISVNCommitParameters parameters)
          Sets commit parameters to use.
 
Methods inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient
checkCancelled, createRepository, createRepository, createRepository, createWCAccess, createWCAccess, dispatchEvent, dispatchEvent, getDebugLog, getEventDispatcher, getLocations, getOptions, getRepositoryPool, getRevisionNumber, getURL, handleEvent, isIgnoreExternals, isLeaveConflictsUnresolved, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, sleepForTimeStamp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVNCopyClient

public SVNCopyClient(ISVNAuthenticationManager authManager,
                     ISVNOptions options)
Constructs and initializes an SVNCopyClient object with the specified run-time configuration and authentication drivers.

If options is null, then this SVNCopyClient 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 SVNCopyClient 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).

Parameters:
authManager - an authentication and network layers driver
options - a run-time configuration options driver

SVNCopyClient

public SVNCopyClient(ISVNRepositoryPool repositoryPool,
                     ISVNOptions options)
Method Detail

setCommitHandler

public 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. The handler will receive a clien's log message and items (represented as SVNCommitItem objects) that will be committed. Depending on implementor's aims the initial log message can be modified (or something else) and returned back.

If using SVNCopyClient without specifying any commit handler then a default one will be used - DefaultSVNCommitHandler.

Parameters:
handler - an implementor's handler that will be used to handle commit log messages
See Also:
getCommitHandler(), SVNCommitItem

getCommitHandler

public 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.

Returns:
the commit handler being in use or a default one
See Also:
setCommitHandler(ISVNCommitHandler), DefaultSVNCommitHandler

setCommitParameters

public void setCommitParameters(ISVNCommitParameters parameters)
Sets commit parameters to use.

When no parameters are set default ones are used.

Parameters:
parameters - commit parameters
See Also:
getCommitParameters()

getCommitParameters

public ISVNCommitParameters getCommitParameters()
Returns commit parameters.

If no user parameters were previously specified, once creates and returns default ones.

Returns:
commit parameters
See Also:
setCommitParameters(ISVNCommitParameters)

doCopy

public SVNCommitInfo doCopy(SVNURL srcURL,
                            SVNRevision srcRevision,
                            SVNURL dstURL,
                            boolean isMove,
                            String commitMessage)
                     throws SVNException
Copies/moves a source URL to a destination one immediately committing changes to a repository. Equivalent to doCopy(srcURL, srcRevision, dstURL, isMove, false, commitMessage).

Parameters:
srcURL - a source repository location URL
srcRevision - a revision of srcURL
dstURL - a target URL where srcURL is to be copied/moved
isMove - true to move the source to the target (only URL-to-URL), false to copy
commitMessage - a commit log message
Returns:
information on the committed revision
Throws:
SVNException
See Also:
doCopy(SVNURL, SVNRevision, SVNURL, boolean, boolean, String)

doCopy

public SVNCommitInfo doCopy(SVNURL srcURL,
                            SVNRevision srcRevision,
                            SVNURL dstURL,
                            boolean isMove,
                            boolean failWhenDstExists,
                            String commitMessage)
                     throws SVNException
Copies/moves a source URL to a destination one immediately committing changes to a repository.

If dstURL and srcURL are the same, failWhenDstExists is false and srcURL is a directory then this directory will be copied into itself.

If dstURL is a directory, dstURL and srcURL are not the same, failWhenDstExists is false, dstURL has not the last path element entry of srcURL then that entry will be copied into dstURL.

Parameters:
srcURL - a source repository location URL
srcRevision - a revision of srcURL
dstURL - a target URL where srcURL is to be copied/moved
isMove - true to move the source to the target (only URL-to-URL), false to copy
failWhenDstExists - true to force a failure if the destination exists
commitMessage - a commit log message
Returns:
information on the committed revision
Throws:
SVNException - if one of the following is true:
  • srcURL and dstURL are not in the same repository
  • srcURL was not found in srcRevision
  • dstURL and srcURL are the same and failWhenDstExists is true
  • dstURL already exists and failWhenDstExists is true
  • dstURL already exists, failWhenDstExists is false, but dstURL already contains the top path element name of srcURL
  • isMove = true and dstURL = srcURL

doCopy

public SVNCommitInfo doCopy(File srcPath,
                            SVNRevision srcRevision,
                            SVNURL dstURL,
                            String commitMessage)
                     throws SVNException
Copies a source Working Copy path (or its repository location URL) to a destination URL immediately committing changes to a repository.

Equivalent to doCopy(srcPath, srcRevision, dstURL, false, commitMessage).

Parameters:
srcPath - a source Working Copy path
srcRevision - a revision of srcPath
dstURL - a target URL where srcPath is to be copied
commitMessage - a commit log message
Returns:
information on the committed revision
Throws:
SVNException - if one of the following is true:
  • srcPath is not under version control
  • srcPath has no URL
  • the repository location of srcPath was not found in srcRevision
  • dstURL already exists
See Also:
doCopy(File, SVNRevision, SVNURL, boolean, String)

doCopy

public SVNCommitInfo doCopy(File srcPath,
                            SVNRevision srcRevision,
                            SVNURL dstURL,
                            boolean failWhenDstExists,
                            String commitMessage)
                     throws SVNException
Copies a source Working Copy path (or its repository location URL) to a destination URL immediately committing changes to a repository.

If srcRevision is not SVNRevision.WORKING then the repository location URL of srcPath is copied to dstURL. Otherwise srcPath itself.

failWhenDstExists behaves like in doCopy(SVNURL, SVNRevision, SVNURL, boolean, boolean, String).

Parameters:
srcPath - a source Working Copy path
srcRevision - a revision of srcPath
dstURL - a target URL where srcPath is to be copied
failWhenDstExists - true to force a failure if the destination exists
commitMessage - a commit log message
Returns:
information on the committed revision
Throws:
SVNException - if one of the following is true:
  • srcPath is not under version control
  • srcPath has no URL
  • the repository location of srcPath was not found in srcRevision
  • dstURL already exists and failWhenDstExists is true

doCopy

public long doCopy(SVNURL srcURL,
                   SVNRevision srcRevision,
                   File dstPath)
            throws SVNException
Copies a source URL to a destination Working Copy path.

dstPath will be automatically scheduled for addition with history.

Parameters:
srcURL - a source URL
srcRevision - a revision of srcURL
dstPath - a destination WC path
Returns:
the revision number of a source
Throws:
SVNException - if one of the following is true:
  • srcURL was not found in srcRevision
  • dstPath already exists
  • dstPath appears in srcURL
  • dstPath and srcURL are from different repositories
  • dstPath is under version control but missing

doCopy

public void doCopy(File srcPath,
                   SVNRevision srcRevision,
                   File dstPath,
                   boolean force,
                   boolean isMove)
            throws SVNException
Copies/moves a source Working Copy path to a destination Working Copy path.

If srcRevision is not SVNRevision.WORKING and isMove = false, then the repository location URL of srcPath is copied to dstPath. Otherwise srcPath itself.

dstPath will be automatically scheduled for addition with history.

Parameters:
srcPath - a source WC path
srcRevision - a revision of srcPath
dstPath - a destination WC path
force - true to force the operation to run
isMove - true to move the source to the target (only WC-to-WC), false to copy
Throws:
SVNException - if one of the following is true:
  • dstPath already exists and is in the way containing an item with the same name as the source
  • srcPath is not under version control
  • srcPath does not exist
  • srcPath has no URL
  • dstPath is a child of srcPath
  • dstPath is scheduled for deletion
  • isMove = true and dstURL = srcURL

SVNKit Home

Copyright © 2004-2007 TMate Software Ltd. All Rights Reserved.