Hello Mark,

SVNMoveClient was introduced in the 1.3.x version line in order to
workaround some limitations of the standard move. So there are (and
were) two ways to perform move - first is with the
SVNCopyClient.doCopy - this is a standard way which works exactly the
same way as the native client, and second is with SVNMoveClient.doMove
- it lets one move unversioned files as well, or to move files between
working copies.

In version 1.7 of SVNKit, standard move (with doCopy) fixes most of
the limitations of the old one, so standard doCopy works well. This is
why SVNMoveClient,doMove was left as it is and it only worked with the
old working copies, treating files in the new working copies as
unversioned.

I've just changed it in trunk, so now when new working copy format is
detected, then doMove just calls doCopy, otherwise it executes old
doMove.

Thanks!

Alexander Kitaev,
TMate Software,
http://subgit.com/ - Svn to Git Migration!
http://svnkit.com/ - Java [Sub]Versioning Library!
http://hg4j.com/ - Java Mercurial Library!
http://sqljet.com/ - Java SQLite Library!



On 6 April 2012 19:10, Mark Herman <[email protected]> wrote:
>> Please consider using SVNCopyClient.doCopy(...) method with "isMove"
>>parameter set to "true".
>
> Thanks for the quick response, doCopy with isMove works correctly for me. 
> Here is the code that doesn't work:
>
> SVNClientManager cm = ...;
> cm.getUpdateClient().doCheckout(url, co, SVNRevision.UNDEFINED, 
> SVNRevision.HEAD, SVNDepth.UNKNOWN, true);
> cm.getMoveClient().doMove(orig, newFile);
>
> Here is what worked for me:
>
> SVNClientManager cm = ...;
> cm.getUpdateClient().doCheckout(url, co, SVNRevision.UNDEFINED, 
> SVNRevision.HEAD, SVNDepth.UNKNOWN, true);
> SVNCopySource[] sc = {new SVNCopySource(SVNRevision.HEAD, SVNRevision.HEAD, 
> orig)};
> cm.getCopyClient().doCopy(sc,newFile,true,true,true );
>
> So is the copy client the new move client?

Reply via email to