You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jamie D <ja...@gmail.com> on 2006/11/21 22:13:46 UTC

useing a different local file structure to the repository

Hi,

I am developing a framework that will be used across several different
projects, the way I am developing the framework is to add code to it
as each project needs it. I can't figure out how best to work with
this in subversion. Basically I have code specific to each project and
common code that is used in every project.

In my local development environment I have the following folder structure:

/Sites
/Sites/Project1
/Sites/Project1/framework
/Sites/Project1/framework/application
/Sites/Project1/framework/config
/Sites/Project1/framework/system
/Sites/Project1/public_html
/Sites/Project2
/Sites/Project2/framework
/Sites/Project2/framework/application
/Sites/Project2/framework/config
/Sites/Project2/framework/system
/Sites/Project2/public_html

The "system" folder contains the framework code that is common to all
projects. Is it possible to have everything inside the "Project1"
folder be in one repository except the "system" folder, and have this
stored inside a different repository? If so how would I go about
getting subversion to ignore the "system" folder when working with
Project1?

Would it be easier to store everything in a single repository and
checkout different parts to various folders?

Thanks

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

Re: useing a different local file structure to the repository

Posted by Tim Hill <dr...@comcast.net>.
If you want to keep stuff in distinct repositories, use "externals"  
to copy in the shared stuff in the system folder. See the svn-book  
for details.

If you are going to keep stuff in the same folder, one possible  
workflow is (basically) the "vendor branch" workflow. Again, see the  
svn-book for details. The basic idea, though, is you place the  
"master" system folder in its own discrete area, which undergoes  
whatever updates you want (e.g. via tags for new releases etc). Then  
you use a branch off the master (typically a tag) into the individual  
projects. This is slightly different to a true share, since you need  
to remember to pull a new version of system into each project, but it  
does mean you can stage updates to projects independently.

--Tim

On Nov 21, 2006, at 2:13 PM, Jamie D wrote:

> Hi,
>
> I am developing a framework that will be used across several different
> projects, the way I am developing the framework is to add code to it
> as each project needs it. I can't figure out how best to work with
> this in subversion. Basically I have code specific to each project and
> common code that is used in every project.
>
> In my local development environment I have the following folder  
> structure:
>
> /Sites
> /Sites/Project1
> /Sites/Project1/framework
> /Sites/Project1/framework/application
> /Sites/Project1/framework/config
> /Sites/Project1/framework/system
> /Sites/Project1/public_html
> /Sites/Project2
> /Sites/Project2/framework
> /Sites/Project2/framework/application
> /Sites/Project2/framework/config
> /Sites/Project2/framework/system
> /Sites/Project2/public_html
>
> The "system" folder contains the framework code that is common to all
> projects. Is it possible to have everything inside the "Project1"
> folder be in one repository except the "system" folder, and have this
> stored inside a different repository? If so how would I go about
> getting subversion to ignore the "system" folder when working with
> Project1?
>
> Would it be easier to store everything in a single repository and
> checkout different parts to various folders?
>
> Thanks
>
> ---------------------------------------------------------------------
> 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