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

RE: Working copy corrupted by branch deletion

From: Bert Huijben <bert_at_qqmail.nl>
Date: Sat, 19 Jan 2013 22:59:14 +0100

                Hi,

 

Thanks for a very interesting issue to look at.

I'm happy to report that I would now call this issue fixed:

 

 

I think we can call this a known issue as it has been known for quite some
time.

A workaround for this issue would be to do an explicit update of the missing
target. (Or reducing and increasing the depth of the node).

 

I documented the issue as issue #4295 with the following recipe

$ svnadmin create repos

$ svn mkdir --parents file:///%CD%/repos/A/B/C -m ""

$ svn cp file:///%CD%/repos/A file:///%CD%/repos/AA -m ""

$ svn co file:///%CD%/repos/A A

$ svn switch ^/AA/B A/B

$ svn rm file:///%CD%/repos/AA

$ svn up A

 

On 1.7 this reproduces your issue

 

And a

$ svn up A/B

Will bring back the missing directory.

 

 

When trying the same thing on trunk I found a completely different issue,
where the complete update failed. I'm not going to bother you with the
details of this report, as thanks to your bug report that huge regression
will never be in a released version of Subversion. (Thanks!!!)

 

 

To close issue #4295, I added a small check to the update code that handles
incoming deletes. When it encounters a delete of a switched path it will now
place a similar hidden marker as you would get when you update a path to r0
(or commit a file delete). The next update will now bring in the missing
node.

 

I will nominate the fix for backporting to a future 1.7 release.

 

                Bert

 

 

 

From: Maxwell Ballenger [mailto:Maxwell.Ballenger_at_spacex.com]
Sent: zaterdag 19 januari 2013 00:44
To: users_at_subversion.apache.org
Subject: Working copy corrupted by branch deletion

 

Hi Subversion Users,

 

We're experiencing some new behavior after upgrading from TortoiseSVN 1.6.14
(Subversion client library 1.6.16) to TortoiseSVN 1.7.10 (Subversion client
library 1.7.7). We noticed this using TortoiseSVN, but some folks on their
mailing list believe that this is a result of the Subversion client library,
not Tortoise. I am not sure whether this is a bug or intended behavior. Here
is what happens:

 

1. Branch a subfolder of your working copy
2. Switch that subfolder onto that branch
3. Delete that branch using another working copy or the repo-browser
4. Update your working copy
5. That subfolder disappears. There is no way to recover that subfolder and
have your working copy match the trunk again without doing a fresh checkout.

In TortoiseSVN 1.6.14 (Subversion 1.6.16), a mistake like this was much
easier to recover from. Commanding a switch of a parent folder to trunk
would restore the missing subfolder.

Is this intended behavior, or could it qualify for a bug fix? Does anyone
know of a faster way to recover than a fresh checkout?

Thanks!

Max Ballenger
Received on 2013-01-19 22:59:57 CET

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

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