|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.tmatesoft.svn.core.wc.SVNBasicClient org.tmatesoft.svn.core.wc.SVNMoveClient
public class 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:
Constructor Summary | |
---|---|
SVNMoveClient(ISVNAuthenticationManager authManager,
ISVNOptions options)
Constructs and initializes an SVNMoveClient object with the specified run-time configuration and authentication drivers. |
|
SVNMoveClient(ISVNRepositoryPool repositoryPool,
ISVNOptions options)
Constructs and initializes an SVNMoveClient object with the specified run-time configuration and repository pool object. |
Method Summary | |
---|---|
void |
doMove(java.io.File src,
java.io.File dst)
Moves a source item to a destination one. |
void |
doVirtualCopy(java.io.File src,
java.io.File dst,
boolean move)
Copies/moves administrative version control information of a source file to administrative information of a destination file. |
void |
undoMove(java.io.File src,
java.io.File dst)
Reverts a previous move operation back. |
Methods inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient |
---|
dontWC17Support, getDebugLog, getOperationsFactory, getOptions, getPathListHandler, getReposRoot, getReposRoot, isIgnoreExternals, isLeaveConflictsUnresolved, isWC17Supported, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, setPathListHandler |
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 driverpublic SVNMoveClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
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 repositoryPool
is null,
then SVNRepositoryFactory
will be used
to create repository access objects
.
repositoryPool
- a repository pool objectoptions
- a run-time configuration options driverMethod Detail |
---|
public void doMove(java.io.File src, java.io.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(java.io.File src, java.io.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(java.io.File src, java.io.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 SVNKit is not able to locate the copied
directory root for src
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |