|
JavaSVN Home | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.tmatesoft.svn.core.wc.SVNBasicClient
org.tmatesoft.svn.core.wc.SVNMoveClient
The SVNMoveClient provides an extra client-side functionality over standard (i.e. compatible with the SVN command line client) move operations. This class helps to overcome the SVN limitations regarding move operations. Using SVNMoveClient you can easily:
| 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 |
| Constructor Summary | |
|
SVNMoveClient(ISVNAuthenticationManager authManager,
ISVNOptions options)
Constructs and initializes an SVNMoveClient object with the specified run-time configuration and authentication drivers. |
protected |
SVNMoveClient(ISVNRepositoryPool repositoryPool,
ISVNOptions options)
|
| Method Summary | |
void |
doMove(File src,
File dst)
Moves a source item to a destination one. |
void |
doVirtualCopy(File src,
File dst,
boolean move)
Copies/moves administrative version control information of a source file to administrative information of a destination file. |
void |
undoMove(File src,
File dst)
Reverts a previous move operation back. |
| Methods inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient |
checkCancelled, createRepository, createRepository, createRepository, createWCAccess, createWCAccess, dispatchEvent, dispatchEvent, getEventDispatcher, getLocations, getOptions, getRepositoryPool, getRevisionNumber, getURL, handleEvent, isIgnoreExternals, isLeaveConflictsUnresolved, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, sleepForTimeStamp |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public SVNMoveClient(ISVNAuthenticationManager authManager,
ISVNOptions options)
If options is null,
then this SVNMoveClient 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 SVNMoveClient 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).
authManager - an authentication and network layers driveroptions - a run-time configuration options driver
protected SVNMoveClient(ISVNRepositoryPool repositoryPool,
ISVNOptions options)
| Method Detail |
public void doMove(File src,
File dst)
throws SVNException
dst should not exist. Furher it's considered to be versioned if
its parent directory is under version control, otherwise dst
is considered to be unversioned.
If both src and dst are unversioned, then simply
moves src to dst in the filesystem.
If src is versioned but dst is not, then
exports src to dst in the filesystem and
removes src from version control.
If dst is versioned but src is not, then
moves src to dst (even if dst
is scheduled for deletion).
If both src and dst are versioned and located
within the same Working Copy, then moves src to
dst (even if dst is scheduled for deletion),
or tries to replace dst with src if the former
is missing and has a node kind different from the node kind of the source.
If src is scheduled for addition with history,
dst will be set the same ancestor URL and revision from which
the source was copied. If src and dst are located in
different Working Copies, then this method copies src to
dst, tries to put the latter under version control and
finally removes src.
src - a source pathdst - a destination path
SVNException - if one of the following is true:
dst already exists
src does not exist
public void undoMove(File src,
File dst)
throws SVNException
doMove()
and used to roll back move operations. In this case src is
considered to be the target of the previsous move operation, and dst
is regarded to be the source of that same operation which have been moved
to src and now is to be restored.
dst could exist in that case if it has been a WC directory
that was scheduled for deletion during the previous move operation. Furher
dst is considered to be versioned if its parent directory is
under version control, otherwise dst is considered to be unversioned.
If both src and dst are unversioned, then simply
moves src back to dst in the filesystem.
If src is versioned but dst is not, then
unmoves src to dst in the filesystem and
removes src from version control.
If dst is versioned but src is not, then
first tries to make a revert on dst - if it has not been committed
yet, it will be simply reverted. However in the case dst has been already removed
from the repository, src will be copied back to dst
and scheduled for addition. Then src is removed from the filesystem.
If both src and dst are versioned then the
following situations are possible:
dst is still scheduled for deletion, then it is
reverted back and src is scheduled for deletion.
dst exists but is not scheduled for
deletion, src is cleanly exported to dst and
removed from version control.
dst and src are from different repositories
(appear to be in different Working Copies), then src is copied
to dst (with scheduling dst for addition, but not
with history since copying is made in the filesystem only) and removed from
version control.
dst and src are in the same
repository (appear to be located in the same Working Copy) and:
src is scheduled for addition with history, then
copies src to dst specifying the source
ancestor's URL and revision (i.e. the ancestor of the source is the
ancestor of the destination);
src is already under version control, then
copies src to dst specifying the source
URL and revision as the ancestor (i.e. src itself is the
ancestor of dst);
src is just scheduled for addition (without history),
then simply copies src to dst (only in the filesystem,
without history) and schedules dst for addition;
src is removed from version control.
src - a source pathdst - a destination path
SVNException - if src does not exist
public void doVirtualCopy(File src,
File dst,
boolean move)
throws SVNException
In that case when you have your files copied/moved in the filesystem, you can not perform standard (version control) copying/moving - since the target already exists and the source may be already deleted. Use this method to overcome that restriction.
src - a source file path (was copied/moved to dst)dst - a destination file pathmove - if true then
completes moving src to dst,
otherwise completes copying src to dst
SVNException - if one of the following is true:
move = true and src
still exists
dst does not exist
dst is a directory
src is a directory
src is not under version control
dst is already under version control
src is copied but not scheduled for
addition, and JavaSVN is not able to locate the copied
directory root for src
|
JavaSVN Home | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||