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

RE: Export Groups

From: Christopher Key <cjk32_at_cam.ac.uk>
Date: 2006-03-09 17:32:14 CET

Hello Paul,

Thanks for the reply. I'd not considered such a design, but it does work
nicely, keeping all of a project's dependencies available within one
directory. The problems cited in the SVN book do make it less than ideal
though, particularly as mentioned in relation to creating SVN branches and
tags. Is support for relative external paths something that's likely to be
added to a future version?

One thought did occur to me that would allow, say, project 1 to depend on
something that you didn't want to have as an external like the Widgets. If
you were able to have externals that didn't recurse into subdirectories
would be to have:

trunk
  export1
    code
      project1 - svn:external /trunk/code/project1
    common
      Widget 1 - svn:external /trunk/code/Common/Widget1
      Widget 1 - svn:external /trunk/code/Common/Widget2
  export2
      ...

This would still suffer from the problem of not having relative svn:external
paths, and would still have to be updated manually. At least, if the
Widgets are with the project, then you know that the dependencies are
covered. The normal working copy simply wouldn't build unless all its
dependencies were there.

I'll have a think, and see if I can find a way to restructure my repository
to make this work.

Chris Key

-----Original Message-----
From: Durden, Paul [mailto:Paul.Durden@avocent.com]
Sent: 09 March 2006 14:40
To: Christopher Key
Subject: RE: Export Groups

Christopher,
You might be able to use externals to do this, although it won't be
automatic.
 
You could use the following structure...
 
trunk
  code
    project1
      Files for project 1
      Widget1 - svn:external /trunk/code/Common/Widget1
      Widget4 - svn:external /trunk/code/Common/Widget4
    project2
      Files for project 2
      Widget1 - svn:external /trunk/code/Common/Widget1
      Widget2 - svn:external /trunk/code/Common/Widget2
    project3
      Files for project 3
      Widget2 - svn:external /trunk/code/Common/Widget2
      Widget3 - svn:external /trunk/code/Common/Widget3
    Common
      Widget1
        Files for Widget1
      Widget2
        Files for Widget2
      Widget3
        Files for Widget3
      Widget4
        Files for Widget4

You can check out the online documentation for a discussion of svn:external
here
http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.advanced.externals
 
Hope this helps,
 
Paul

________________________________

From: Christopher Key [mailto:cjk32@cam.ac.uk]
Sent: Thu 2006-03-09 7:57 AM
To: users@subversion.tigris.org
Subject: Export Groups

Hello,

I have a repository containing various projects sharing a certain amount of
common code, e.g.:

trunk
  code
    project1
      Files for project 1
    project2
      Files for project 2
    project3
      Files for project 3
    Common
      Files used by none, any or all of projects 1--3

What I would like to be able to do is to be able export a copy of the entire
hierarchy with only those files required for a given project, or group of
projects. I would envisage something similar to a makefile, that
recursively searches for dependencies. I've not been able to find any
support for this sort of functionality with SVN, and I'm certainly not sure
if a version control system is the right place to put this anyway.

Is there a recommended way of achieving the above in conjunction with SVN,
using something like a 'dependson' property for the file? Am tackling the
problem from completely the wrong end?

Many thanks,

Christopher Key

---------------------------------------------------------------------
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
Received on Thu Mar 9 17:35:09 2006

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.