What we do here is treat that stuff the same way we treat third party
tools. We have a "lib" folder in our project structure and we put the
binaries there. Then our project references the DLL in the lib folder.
This way, we can control what version of the external binary is used for
each project. Yes, that means duplicate copies... but we find it much
easier to version this way.
If you prefer to use externals you could create a folder for each
version. Then, change your reference path accordingly. This way you only
have one copy of each binary in the repo even if it is used by multiple
projects.
If you are customizing your common stuff though for each project you
will need to bring the source in. Look at the "Vendor Branches" section
of the svn book. http://svnbook.red-bean.com/en/1.1/ch07s05.html This
may be an approach that you can take.
BOb
-----Original Message-----
From: Cyril Margorin [mailto:comargo_at_gmail.com]
Sent: Friday, November 14, 2008 5:21 PM
To: users_at_subversion.tigris.org
Subject: Sharing of sub-projects and tagging
Hello,
Our company starts migrating from <censored> VSS to SVN so I'm new to
SVN and even has not much experience with CVS.
I'm trying to find a way, to share the sub-projects, that are common
for our some of our projects (like a custom user controls, or helper
classes for multi-threaded operations, or custom build tools).
I've found that property svn:externals work fine for me, until I start
tagging of project.
As I see, if I tag the project, the svn:externals for tagged version
of project still points to HEAD version of shared sub-project, and any
changes in sub-project, made after tagging will be reflected in frozen
(tagged) copy. So I have to manually change the svn:externals property
to pin current REV of sub-project. Do it manually is not good idea
(who wants to do something manually if you have a computer? :) )
From other side, branching the sub-project to number of projects will
require programmer to
1) make changes in main trunk, that is somewhere else, but not in this
project,
2) merge changes to all project that uses this sub-project.
- So it is another problem, that programmer should handle manually.
I prefer the first way, but, as I see, I need to put a hook-script,
that will be called on any copy command, and change the svn:externals
property to current revision.
The quiestions are:
Is this problem already solved/described somewhere?
Could someone point me to solution (script) that does it?
Thanks.
--
Cyril Margorin
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-11-15 00:07:56 CET