[DUG] Source Control - Sharing files between projects

David Brennan dugdavid at dbsolutions.co.nz
Wed Sep 26 11:45:03 NZST 2007


Comments below...

-----Original Message-----
From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] On
Behalf Of Berend de Boer
Sent: Wednesday, 26 September 2007 10:34 a.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: [DUG] Source Control - Sharing files between projects

> Hmm, "nice in terms of core feature set", but somehow misses all the
> things that are essential to a decent source code control tool :-)

Heh. One would have thought so given how much it gets dumped on but it has
worked very well for us, with the risk of corruption being the only real
concern. However once we have moved to a system which supports proper
branching and changesets I'm sure we will look back and wonder why it worked
so well!

> I always branch every single library to a product or products
> directory. So you know exactly what you've got. You don't have to
> recompile (or find out with a full build) that your library update
> broke dozens of other projects.
>
> It allows very fine-grained and controlled migrations of libraries.

> Read this portion of the SVN handbook: http://svnbook.red-
> bean.com/en/1.4/svn.advanced.vendorbr.html 

So by my understanding you are talking about effectively sharing code
between your product directories BUT not having the sharing happen
automatically. Instead you are triggering the sharing (really merging) from
a central control point for that code only when you want to.

The example in the link was for an external library and I can see that
working well. I'm not so sure it is applicable to what I am talking about.
This isn't library code, it is frequently changing core code which needs to
be shared between say 8 other projects which use the same code. It must be
edited within one of those projects in order for changes to make sense.
Potentially you will want to perform the edit in any of the 8 projects
because the edit is part of a larger change that is centred in that project.
So either you have to manually merge that change into each of the 7 other
project branches when you check it in OR you have a situation where 8
branches projects are all having disjoint changes occurring.

I don't imagine this is what you were suggesting... ;-) 

So if you have time I would love to hear what you mean?

David.







More information about the Delphi mailing list