[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: RFE: copy with metadataOnly should allow removed/replaced sources and added/replaced targets

From: Marc Strapetz <marc.strapetz_at_syntevo.com>
Date: Thu, 23 Apr 2015 17:13:41 +0200

On 23.04.2015 16:01, Branko Čibej wrote:
> On 22.04.2015 20:28, Marc Strapetz wrote:
>> Using copy with the new metadataOnly option (through the API) only
>> allows to "move" or "copy" a missing file onto an unversioned file. It
>> could also be helpful to copy/move metadata from a removed (or
>> replaced) source to an already added (or replaced) target.
>>
>>
>> Use case 1: the user has removed file "a" and moved file "b" to file
>> "a" without using SVN:
>>
>> $ svn status
>> M a
>> ! b
>>
>> Goal is to preserve "b"'s history for the new "a" and have the history
>> of the old "a" being ended. With metadataOnly being more tolerant,
>> this could then be done by:
>>
>> $ svn rm --keep-local a
>> $ svn add a
>> $ svn cp --metadata-only b a
>
> What happens if you do (the API equivalent of):
>
> $ svn cp --metadata-only b_at_BASE a

Brane, I guess this is a question of what happens currently, not a
counter-example which would result in problems?

I've tried now with following JavaHL code, but the problem remains the
same (problem is that the target file already exists):

client.remove(
   Collections.singleton(a.getAbsolutePath()), false, true,
   null, null, null);

client.add(a.getAbsolutePath(), Depth.empty, false, false, false, true);

client.copy(
   Collections.singletonList(new CopySource(b.getAbsolutePath(),
     Revision.BASE, Revision.BASE)),
   a.getAbsolutePath(), false, true, true, true, false, null,
   null, null, null);

Output:

Exception in thread "main" org.apache.subversion.javahl.ClientException:
Entry already exists
svn: Path 'D:\svntest\small\a.txt' already exists

        at org.apache.subversion.javahl.SVNClient.copy(Native Method)

-Marc
Received on 2015-04-23 17:17:52 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.