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

Re: Wrong state for SWITCHED items

From: Florin Avram <florin_at_sync.ro>
Date: Thu, 04 Apr 2013 16:09:31 +0300

Hi,

Thank you for your prompt reply.

The exact behavior (just tested on my own):
SVN 1.6:
switched file
     - delete: works;
     - status: reported correctly (D + S);
     - commit: works (removes item from the branch URL, not from the parent directory URL);

switched directory
     - delete: works;
     - status: reported wrong if directly on the switched directory ("svn status switchedDir" reports as D only), but works fine if requested on parent dir ("svn status ." reports "switchedDir" as D + S);
     - commit: works fine;

SVN 1.7:
switched file
     - delete: works;
     - status: loses S state, only D reported (both if "svn status" on file or on parent);
     - commit: same as SVN 1.6 for file;

switched directory
     - delete:not working (previously mentioned error);

I don't know how things work for SVN 1.8, since I do not test it until officially available.

At this point, I assume it would be safer to not allow delete on switched items (especially if the switched status is lost) since the user might not be aware that commits something to another repository location.
But, this will prevent a user from replacing the switched item (delete + add).

Best Regards,
Florin

On 04.04.2013 15:19, Bert Huijben wrote:
>
>> -----Original Message-----
>> From: MARTIN PHILIP [mailto:codematters_at_ntlworld.com] On Behalf Of
>> Philip Martin
>> Sent: donderdag 4 april 2013 12:42
>> To: Florin Avram
>> Cc: users_at_subversion.apache.org
>> Subject: Re: Wrong state for SWITCHED items
>>
>> Florin Avram <florin_at_sync.ro> writes:
>>
>>> Two things I've noticed:
>>>
>>> 1) svn status switched.txt => file reported as switched
>>>
>>> svn delete --keep-local switched.txt
>>> svn status switched.txt => the file is reported as DELETED, but not as
>>> SWITCHED anymore (although "svn info" indicates the correct URL from
>>> the branch)
>> I think that's a bug. In particular while info shows the switched URL
>> commit will delete the unswitched URL. Combining switch with delete is
>> always a problem, for example this old bug:
>> http://subversion.tigris.org/issues/show_bug.cgi?id=1906
>>
>>> 2) Also, why can I delete a switched file, but I cannot delete a
>>> switched directory?!
>>> cd wcRootDir
>>> svn delete --keep-local switchedDirectory => svn: E155005: No
>>> write-lock in 'D:\path\to\wcRootDir'
>> That's a bug as well. Preventing the delete of a switched node may be a
>> good idea but the error message should be better.
> This error is caused by our 'anchor' rules. A switched directory doesn't use
> its parent directory for many operations. (For a file it must always use the
> directory). In this case we obtain the lock for the to be deleted node only,
> while we delete a child from its ancestor.
>
> Is this 1.6 or 1.7?
>
> Bert
Received on 2013-04-04 15:10:07 CEST

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

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