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

Re: Tree-internal real links

From: Brooke Smith <novorivus_at_optusnet.com.au>
Date: 2004-10-24 14:17:18 CEST

Hi Steven,

That looks like quite a neat solution. I discussed the same issue as
Andrew did on the list a month or two ago with Ben Collins-Sussman, and
through this I decided to attempt to use a DEPENDS property (my name).
What is listed in this property are the sibling repository items to be
exported or checked-out. I'd have to write my own 'svn' wrapper to
"intercept" the calls and handle the DEPENDS properties. I haven't
implemented this yet since I'm still in the planning stage of a large
project we are working on.

Your solution is a possible way around doing this and I'll look into
it. A disadvantage with your solution is that you need to create and
maintain two repository directories for each project with one being
something you don't necessarily want to see and which could get in the
way.

A bigger problem, and one that exists in general with externals, is
that they can only refer to one static location. So even if you create
some version/tag/copy of the project, it will only ever refer to the
trunk version of the tools etc..., unless you could use relative
externals (../../tools). (However you can't -
http://svnbook.red-bean.com/svnbook-1.0/ch07s03.html:

It can be set on any versioned directory, and its value is a
multi-line table of subdirectories (relative to the versioned
directory on which the property is set) and fully qualified, absolute
Subversion repository URLs.).

Perhaps the DEPENDS property is worth thinking about. I can customise
my repository using it where it can be relative to the current
location, or relative from "the base" (trunk/ or tags/vX.Y.Z/), or thru
some other fashion appropriate for my config. I could also specify a
specific version (in tags) or use a keyword like 'LATEST' to mean the
latest version.

I, and the others concerned, will need to give this more though.

Regards,

Brooke

----
On 19/10/2004, at 11:33 AM, Krebs, Steven wrote:
> Dang copy and paste error...  Changed one word... Sorry
> -----Original Message-----
> From: Andrew Arnott [mailto:andrewarnott@gmail.com]
> Sent: Monday, October 18, 2004 11:02 AM
> To: François Beausoleil
> Cc: Klimek Manuel; users@subversion.tigris.org
> Subject: Re: Tree-internal real links
>
>> Thanks for the tip.  I didn't know about svn:externals.
>
>> It seems to support pulling in trees from other repositories.  While
>> that by itself is a good thing, I think the design keeps it from
>> solving my problem.
>
>> What I am really looking for is a format of a property like what's
>> below (we'll call it svn:internals).
>
> ...
>
>> So the working copy tree would be a subset of the repository tree,
>> with all the directories checked-out mirroring the directories in the
>> repository.  What I'm trying to get away from is having to put the
>> "common" and "resources" directory, which are common to many projects,
>> as subdirectories inside the "calc" project.  Otherwise a check-out of
>> the entire repository will get duplicate code into the working copies
>> -- as many copies of the common shared libraries as there are
>> projects.
>
> What about this:
>
> Repository:
> /trunk/common
> /trunk/resources
> /trunk/tools
> /trunk/projects
> /trunk/projects/calc
> /trunk/projects/note
>
> /SingleProjCO/calc/projects/calc <where calc is an svn::externals to 
> /trunk/projects/calc
> /SingleProjCO/calc/common <where common is an svn::externals to 
> /trunk/common
> /SingleProjCO/calc/resources <where resources is an svn::externals to 
> /trunk/common
> /SingleProjCO/calc/tools <where tools is an svn::externals to 
> /trunk/common
>
> /SingleProjCO/note/projects/note <where note is an svn::externals to 
> /trunk/projects/note  (<-changed)
> /SingleProjCO/note/common <where common is an svn::externals to 
> /trunk/common
> /SingleProjCO/note/resources <where resources is an svn::externals to 
> /trunk/common
> /SingleProjCO/note/tools <where tools is an svn::externals to 
> /trunk/common
>
>
> Then,
>
> Developer A only wants to build calc
> svn co <URI>/SingleProjCO/calc .
> And gets...
> common
> resources
> tools
> projects/calc
>
> Developer B only wants to build note
> svn co <URI>/SingleProjCO/note .
> And gets...
> common
> resources
> tools
> projects/note
>
> Developer C wants the whole enchilada:
> svn co <URI>/SingleProjCO/trunk .
> And gets...
> common
> resources
> tools
> projects/calc
> projects/note
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
>
---
In a world without walls or fences,
what's the need for Gates and Windows?
Received on Sun Oct 24 14:19:10 2004

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

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