Right, because your tag folder contains a copy of the trunk which uses a
non-pinned external property the tag checkout/update will always give
you the head of the external path. So you would have to pin the external
property in the tag folder to the correct revision. I don't know if
there is any way around this.
That is why we just put a copy of the shared stuff into each project
folder. It eliminates this problem. But, yes it is a more manual
process. However, you could have the builds of the shared projects
update your dependent projects automatically if you wanted.
BOb
-----Original Message-----
From: Cyril Margorin [mailto:comargo_at_gmail.com]
Sent: Friday, November 14, 2008 6:17 PM
To: Bob Archer
Cc: users_at_subversion.tigris.org
Subject: Re: Sharing of sub-projects and tagging
As I understand the "Vendor Branches" - they requires to merge changes
to all projects, that uses this libraries, if any changes occurs.
The Idea is to use one trunk version (without any customization) of
library for number of projects. Any changes made from one project to
this library appears in all other projects. E.g. for driver it can be
DMA Engine implementation. They are similar for all cards, there is no
difference here, so if we find bug in one driver, we should fix it in
all other drivers. In case of svn:external it would be done
automatically. But if we made a tag - leave tagged version of project
with version of sub-project, that was in use during tagging
operation.
2008/11/15 Bob Archer <Bob.Archer_at_amsi.com>:
> 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
>
>
--
Cyril Margorin
---------------------------------------------------------------------
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:26:07 CET