On Thu, Mar 01, 2012 at 04:35:32PM +0100, Humm, Markus wrote:
> I'm currently learning SVN as we're planning to use it here in the near future.
> Some of our projects are structured like this (MS Windows):
> Where Project1 and Project2 are individual projects but both rely on files
> which reside in D:\Source\CommomLibraries and should reside there.
> One could try to use svn:externals not to set this up properly so that a
> Checkout of Project1 also checks out CommonLibraries and a update on Project1
> also takes into account the changes you've made to CommonLibraries.
You could use this kind of structure if you make "Source" a working copy
of a folder that has 2 or 3 externals defined that pull in the desired
And there is an alternative to using externals. You can use the
shallow working copy depth feature instead.
Put the folders side-by-side into the repository:
Then, either check out everything from /trunk, or check out sparse
working copies as follows:
svn co --depth empty URL/trunk Source
svn update --set-depth infinity CommomLibraries
svn update --set-depth infinity Project1
svn update --set-depth infinity Project2
This gives you the following working copy layout, with Project1
and Project2 being optionally excluded via depth:
If you'd like to automate depth configuration during checkout there
is a helper script available at
It would be nice to have this kinf of "view" feature in Subversion's
core so that this would work without an external script.
> I'm using Tortoise SVN 1.7.5 and this one managed to allow me to set up
> svn:externals like I assumed would work. It even commited the structure
> properly to the repository. But when I tried to checkout this project on
> another computer I get a assertion from svn itsself.
> In File
> Zeile 2890: Assert-Anweisung schlug fehl
> (svn_dirent_is_ancestor(wcroot->abspath, local_abspath))
> The local path of my svn:externals was this: D:/u/svnexternaltest2/gemeinsamme_bibliotheken
> If I tried to use ../svnexternaltest2/gemeinsamme_bibliotheken instead Tortoise would detect that it contains a .. Or is a absolute path. Obviously either Tortoises or SVN's absolute path detection loginc is not 100% fool proof as well.
Yes, this is a bug. Coincidentally this problem was discussed just today.
Received on 2012-03-01 17:28:32 CET