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

Re: Undo Add/Revert fails on added directories

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 5 May 2011 21:47:13 +0200

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

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