|
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 driverprotected 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 existpublic 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 |