On Sun, May 1, 2011 at 17:58, Stefan Küng <tortoisesvn_at_gmail.com> wrote:
> On 01.05.2011 08:28, Michael Geisinger wrote:
>>
>> Hi,
>>
>> when applying the "Undo Add" or "Revert" operation against a set of
>> added directories, the operation fails under certain circumstances.
>>
>> This could be a bug.
>>
>> Steps to reproduce:
>>
>> 1. Checkout a working copy (e.g., to D:\testwc)
>> 2. In the root of the working copy, create two folders with subfolders:
>> D:\testwc\1\A
>> D:\testwc\2\B
>> 3. Add the newly added directories to version control
>> (using "TortoiseSVN Add..." and making sure all 4 items are checked,
>> namely "1", "1/A", "2" and "2/B")
>> 4. In Explorer, select the directories "1" and "2", right-click on one
>> of them and select "TortoiseSVN -> Undo Add...". This brings up the
>> "Revert" window. Note that the list contains the directories "1",
>> "A", "2" and "B" (BTW without hierarchy information as shown in the
>> "Add" dialog).
>> 5. The dialog shows all four items as checked by default. Say we want
>> to keep "1", but remove "2" from version control. So uncheck "1".
>> This will also uncheck "A", which is a subdirectory of "1".
>> 6. Click "OK".
>>
>> Expected result:
>> "2" (and its subdirectory "B") are removed from version control
>> (i.e., not scheduled for addition any more).
>>
>> Actual result:
>> TortoiseSVN throws an error that depends on the version of TortoiseSVN
>> used:
>>
>> - A 32-bit 1.6.15 client throws "Unable to lock 'D:\testwc\2\B'
>> Please execute the cleanup command." Cleanup does not help.
>>
>> - The latest 64-bit 1.6.99 nightly linked against svn 1.7.0 throws
>> "Can't revert 'D:\testwc\2' without reverting children", although
>> child "B" of "2" has also been selected for revert in the dialog.
>>
>> Note that the same problem appears when using the "Revert" function on
>> the parent directory "D:\testwc", which -- in contrast to "Undo Add" --
>> shows the items "1", "1/A", "2" and "2/B" (with correct hierarchy) in
>> the "Revert" dialog list.
>
> Thanks for the detailed report. This will take a while to fix...
Actually, this won't be fixed: as soon as only one entry is not
checked, TSVN has to execute any command non-recursively. So in that
situation the revert will always fail. Not much we can do about that.
The problem with your approach is that you first selected both
folders, but *then* decide that one folder you explicitly selected
should not be reverted.
Just select the one you want to revert and not the other in the first
place - then the revert works.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2731341
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-05-05 21:47:33 CEST