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

Re: svn:externals ../ in local path

From: Blair Zajac <blair_at_orcaware.com>
Date: Fri, 06 Feb 2009 15:33:56 -0800

Dimitri Yanculovici wrote:
> Hi Blair,
>
> Thanks for your answer.
>
> Here is what I want to do:
>
> My repository tree structure is:
>
> <repository>
> |- components/
> | |- component1/
> | |- component2/
> | `- component3/
> `- platforms/
> `- platform1/ <- svn:externals
>
> "platform1" refers to "component1",2,3 thus what I need after a checkout of
> "platform1" is:
>
> <local_current_dir>
> |- component1/
> |- component2/
> |- component3/
> `- platform1/
>
>
> So the only way (that I've found) to automate this (excluding the individual
> checkout of the 3 components and the platform) would be to add svn:externals
> properties on the "platform1/" directory as follow:
>
> ../component1/ http://repository_url/components/component1/
> ../component2/ http://repository_url/components/component2/
> ../component3/ http://repository_url/components/component3/
>
>
> But ../component1/ is not supported...
>
>
> If I put the svn:externals on the parent directory (here it's "platforms/").
> I can obtain the following tree structure after a checkout of "platforms/":
>
> <local_current_dir>
> `- platforms/
> |- component1/
> |- component2/
> |- component3/
> `- platform1/
>
> But it's not what I want to do. I really need to force the checkout of the
> three components during the checkout of platform1 and not platforms.
>
> You may think that it's the design of my repository's tree structure which
> is not adapted, but I have other constraints which force me to build it like
> that...

It would be good to hear those constraints to justify work on this feature.
Howver, I don't see this feature being implemented anytime soon in svn. There
are some solutions. You could have another directory called 'checkouts' that
has externals to platform1, component{1,2,3} and then a single checkout grabs
everything the way you want. Or you could have the externals on your platforms
and use sparse checkouts to get only the platform you need.

Regards,
Blair

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1115291
Received on 2009-02-07 00:34:22 CET

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