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

Re: Problem with deleted directory and changed properties

From: Andy Levy <andy.levy_at_gmail.com>
Date: Thu, 29 Nov 2012 08:42:04 -0500

On Thu, Nov 29, 2012 at 7:23 AM, Peter Brockamp
<p.brockamp_at_reisrobotics.de>wrote:

> Hello!
>
> I'm new to TortoiseSVN user mailing list.
>
> I guess I found a problem (or bug) in the actual version 1.7.10 that
> seems not to be documented yet. Please do the follwing to reproduce:
>
> - Check out a project to the local HDD.
> - Delete one arbitrary subdirectory. This will mark the directory as
> locally deleted in Tortoise and delete it and all contained files from
> the HDD. Do *not* commit this change.
> - Now go to the project root and display the Subversion properties.
> - Say New/advanced and add some property, e.g. "svn:ignore" and enter
> "*.foo".
> - Check "Apply property recursively" and click OK.
>
> Now Tortoise will go through all the project's files/directories and
> change their properties accordingly. But when it reaches the deleted
> directory it seems to fail to obey the "locally deleted" property and
> asumes it must be there instead of skipping it. Below this raises the
> error
>
> "Can't set properties on 'C:\Path\To\Deleted\Directory': invalid status
> for updating properties."
>
> This message aborts the recursive process, part of the directories have
> the properties changed to the new value, the other part that hasn't been
> processed before hitting the deleted directory remains in the original
> state.
>
> Obviously, the correct behaviour should be to skip the locally deleted
> dir/file and continue processing the remaining dirs/files.
>
>
I don't see how this is really a "bug", nor do I believe that your last
statement is so obvious.

When you apply a property recursively, TSVN is probably looping through all
versioned items (as discovered by svn status) & applying the property to
each item that's versioned. When it gets to your improperly-deleted item,
it's stopping because there's *supposed* to be a versioned item there, but
it's not. This indicates (to me) that someone or something has done
something in the WC that shouldn't have been done, and the appropriate
action (IMO) is to stop and alert the user that the WC may be broken, and
needs to be investigated - rather than continue on and cause damage, or
keep attempting to make changes that can't be made (wasting time in the
process and possibly causing damage).

Consider this: If TSVN swallows the error and continues, then you run svn
update or otherwise restore your incorrectly-deleted subdirectory, your WC
no longer has that property recursively applied to all items - but you are
completely unaware, because you weren't alerted to the missing item when
you applied the property.

Try the same actions with the command-line client; I suspect this behavior
is in the core libraries, not TSVN, so you'd have to go there looking for a
change.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3032040

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2012-11-29 14:42:50 CET

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