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.
Version information:
-----
TortoiseSVN 1.6.15, Build 21041 - 32 Bit , 2011/03/23 18:00:27
Subversion 1.6.16
apr 1.3.8
apr-utils 1.3.9
neon 0.29.5
OpenSSL 1.0.0d 8 Feb 2011
zlib 1.2.5
-----
TortoiseSVN 1.6.99, Build 21232 - 64 Bit -dev, 2011/04/28 01:49:13
Subversion 1.7.0, -dev
apr 1.4.2
apr-utils 1.3.11
neon 0.29.5
OpenSSL 1.0.0d 8 Feb 2011
zlib 1.2.5
-----
--
Best regards,
Michael 'Sidewinder' Geisinger
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2727541
To unsubscribe from this discussion, e-mail: [users-un...@tortoisesvn.tigris.org].
Thanks for the detailed report. This will take a while to fix...
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=2727606
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