views:

559

answers:

3

We have a subfolder that is a relative svn external (../project/subfolder). In a fresh trunk checkout it points to (...TRUNK/project/subfolder) and in a fresh branch checkout it points to (...BRANCH/branchName/project/subfolder). But if you do a switch on the project containing the subfolder, the subfolder stays pointing at TRUNK. Alternately if you do a BRANCH checkout and switch to TRUNK it stays pointing at BRANCH.

Shouldn't an svn:switch update relative externals? Is there some sort of recursive svn:switch I should be running?

+1  A: 

You may want to try svncopy.pl. svn:externals are not updated when you branch or switch.

Otávio Décio
+1  A: 

Subversion generally considers externals to be separate from their containing project. For example, "svn commit" only looks at files in the project, not at any files in externals contained within the project. "svn switch" works the same way; you can switch the main project, but you'll need to run a separate "svn switch" on each external.

MattK
+2  A: 

The correct answer to the question is "yes, it should update those externals." The fact that it does not is a bug:

see: http://subversion.tigris.org/issues/show_bug.cgi?id=3390

Fix target milestone is 1.6.10. The fix is apparently completed, but the current release version as I write this is still 1.6.6.

Warren