You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Farrier, John [USA]" <fa...@bah.com> on 2008/03/19 17:43:58 UTC

Projects sharing multiple directories

I am trying to set up a project that has a core svn archive, and many sub-projects (plug-ins).  Each of the sub-projects share the directory tree with the core.  I looked at the svn:externals, but that did not seem to address this problem.  Consider the following as a single svn project directory structure:

 

Program

      Source

            Core

            Plugin1

            Plugin2

      Inputs

            CoreInputs

            Plugin1Inputs

            Plugin2Inputs

 

Then, I want to be able to separately manage a third plug-in that may not get distributed with the rest of the program, but just to some folks.  So, I want a second svn project to manage it.  That being said, I want the final directory structure to look like:

 

Program

      Source

            Core

            Plugin1

            Plugin2

            *Plugin3

      Inputs

            CoreInputs

            Plugin1Inputs

            Plugin2Inputs

            *Plugin3Inputs

 

Now, this single directory structure contains two overlapping svn projects.  Is there a way to manage these two projects independently via svn, but allow them to co-exist in the directory tree like this?  I would expect the svn repository to present just these two projects if all worked as I want...

 

      svn->Program

      svn->ProgramPlugin3

 

When sitting at the "Program" level, I would love for svn to report differences in both the core project and the Plugin3 project.

 

Thanks!

 

 


Re: Projects sharing multiple directories

Posted by Matthew Pounsett <ma...@conundrum.com>.
On 19-Mar-2008, at 13:43 , Farrier, John [USA] wrote:

> Then, I want to be able to separately manage a third plug-in that  
> may not get distributed with the rest of the program, but just to  
> some folks.  So, I want a second svn project to manage it.  That  
> being said, I want the final directory structure to look like:

You don't need a separate repository in order to manage the code  
separately, or distribute the final product separately.  The former is  
(most likely) a question of your development process, and the latter  
some good Makefiles.  Personally, I'd recommend building the  
repository with the second structure, below, rather than trying to use  
something like svn:externals.

>
>
>
>
> Program
>
>      Source
>
>            Core
>
>            Plugin1
>
>            Plugin2
>
>            *Plugin3
>
>      Inputs
>
>            CoreInputs
>
>            Plugin1Inputs
>
>            Plugin2Inputs
>
>            *Plugin3Inputs

Re: Projects sharing multiple directories

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 19, 2008, at 12:43, Farrier, John [USA] wrote:

> I am trying to set up a project that has a core svn archive, and  
> many sub-projects (plug-ins).  Each of the sub-projects share the  
> directory tree with the core.  I looked at the svn:externals, but  
> that did not seem to address this problem.  Consider the following  
> as a single svn project directory structure:
>
> Program
>       Source
>             Core
>             Plugin1
>             Plugin2
>       Inputs
>             CoreInputs
>             Plugin1Inputs
>             Plugin2Inputs
>
> Then, I want to be able to separately manage a third plug-in that  
> may not get distributed with the rest of the program, but just to  
> some folks.  So, I want a second svn project to manage it.  That  
> being said, I want the final directory structure to look like:
>
> Program
>       Source
>             Core
>             Plugin1
>             Plugin2
>             *Plugin3
>       Inputs
>             CoreInputs
>             Plugin1Inputs
>             Plugin2Inputs
>             *Plugin3Inputs
>
> Now, this single directory structure contains two overlapping svn  
> projects.  Is there a way to manage these two projects  
> independently via svn, but allow them to co-exist in the directory  
> tree like this?  I would expect the svn repository to present just  
> these two projects if all worked as I want...
>
>       svn->Program
>       svn->ProgramPlugin3

svn:externals is the way I would do this.

Your repo structure could be like this:

Program
       Source
             Core
             Plugin1
             Plugin2
       Inputs
             CoreInputs
             Plugin1Inputs
             Plugin2Inputs
ProgramPlugins
       Plugin3
             Source
             Inputs

On Program/Source you would set the svn:externals property to  
"Plugin3 http://url/to/repo/ProgramPlugins/Plugin3/Source" and on  
Program/Inputs you would set svn:externals to "Plugin3Inputs http:// 
url/to/repo/ProgramPlugins/Plugin3/Inputs"

When you check out http://url/to/repo/Program you will get the  
directory structure you want.


> When sitting at the "Program" level, I would love for svn to report  
> differences in both the core project and the Plugin3 project.

This might not happen, however. You'll have to commit changes to  
Plugin3 separately from changes to Program.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org