[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Organizing 2 project which share code
From: |
Lars-Christian Schulze |
Subject: |
Re: Organizing 2 project which share code |
Date: |
Thu, 15 Nov 2001 12:01:23 +0100 (MET) |
On Fri, 16 Nov 2001, Giuseppe Milicia wrote:
> Hi everyone,
>
> I have to set up CVS to handle 2 projects which share lots of code. The
> shared code is evolving, and I want people working on either project to be
> able to modify the common code.
> Nevertheless people on different projects should not be aware of project
> specific code.
>
> So when you do an update/commit on common code everyone gets is.
> But when you do a checkout you do not get the project specific code...
>
> What would be the best way to organize this?? Actually is it possible at
> all?
Dear Giuseppe,
the normal way to deal with this problem is to use libraries. Therefore:
- Extract the common code from the 2 projects and put it into a library.
Treat that library as an independent third project.
- Define a separate module for the library within CVS.
- Define a clear interface to the library and develop it together with
application code step by step.
- Define baselines, i.e. say: This is version x.y of the library and all
changes from now on are relative to this version.
This also give you the change to go back to a well known version if
something bad happens.
- Only one team should be responsible for modifiying the library.
- If both project teams must be able to modify the library, assign a
person who is responsible for coordinating the activities in
order to avoid incompatible changes.
This sounds a little bit complicated, but otherwise you will run into
trouble sooner or later and if the projects grow the code will become
unmaintainable.
Hope this helps.
Lars
-------------------------------------------------------------------
aerodata Systems GmbH Email address@hidden
Lars-Christian Schulze WWW www.aerodata.de
Hermann-Blenk-Str. 36 Voice +49 531 2359-188
D-38108 Braunschweig Fax +49 531 2359-158