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

RE: Best way to handle shared files in SVN?

From: Durden, Paul <Paul.Durden_at_avocent.com>
Date: 2006-09-07 16:23:03 CEST

Robert,

We had a similar situation in our migration from VSS to Subversion
earlier this year.

In Subversion, we decided to have different folders for each component
or library. This folder uses the typical trunk, tags, and branches. Then
in the trunk for each component we have a folder called ext or export.
The build process for the component places anything another project
would need in this folder (libraries, header files, etc.)

Our repo has a structure similar to this...

/repo/component_A
/repo/component_A/trunk/ext/lib
/repo/component_A/trunk/ext/inc
/repo/component_A/tags/v01.00.00
/repo/component_A/tags/v01.01.00
/repo/product_01
/repo/product_01/trunk
/repo/product_01/tags
/repo/product_01/branches

This example assumes you are using the SVN protocol, and the fully
qualified domain name of the server is svn.mycompany.com.

Now, if Product 01 uses ver 1.0.0 of Component A, we add an
 svn:externals Component_A_Ext
svn://svn.mycompany.com/repo/component_A/tags/v01.00.00/ext
to the properties of the /repo/product_01/trunk.

By referring to a tag rather than the head, or a specific revision
number user the -r argument, until we modify the svn:externals property,
we will be using v1.0.0.
Now, the build process for product 1 adds "./Component_A_Ext/lib" to the
library directory path and "./Component_A_Ext/inc" to the include
directory path.

This has worked well for us.

Paul

-----Original Message-----
From: Robert Denton [mailto:robert@headsprout.com]
Sent: Wednesday, September 06, 2006 1:00 PM
To: users@subversion.tigris.org
Subject: Best way to handle shared files in SVN?

Hi all,

Thanks for listening. I am wondering what is advised as to the best
way to handle shared components across multiple projects in SVN.
Here is the situation:

My boss, who has always used VSS before the introduction of SVN on our
network, likes to use shared libraries, etc in his projects and will
have the same file in a number of different locations. In VSS he could
just drag and drop the shared file into new projects and VSS knew it was
'shared' component and any change made to it would apply in all
instances.

With TortoiseSVN being a shell extention (and thus a different beast
entirely) we are not sure if simply creating a plain old file system
shortcut is sufficient to emulate this behavior. Is there some other
method or property used by Subversion to make a file as 'shared'?

Thanks for any and all input on this issue.

---------------------------------------------------------------------
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 Sep 7 16:39:55 2006

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