[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03 Jun 2003 16:24:17 -0600
Recently we have decided to move our code base to CVS to manage versions
and releases. We have a bit of a unique situation however. We produce
firmware and a single bit of code gets used across several displays.
For instance there might be:
Module4a \ Can only have either Module4a OR Module 4b
Module5a \ Can only have either Module5a OR Module 5b
Plus code that specific to a single application. A couple of products
Stuff Specific to Product A
Stuff specific to Product B
I would like several things out of this if possible:
1) Each product would have to be able to be fetched in one command and
if possible all the files would appear in one directory (so we don't
have to change our build scripts) or the modules would appear in a sub
2) When we fix a bug or add a feature to one module, the revision is
incremented, and any product that uses that module will begin using that
new version (except when a release is tagged)
3) Moving files between modules/product specific code should be as
"easy" as possible.
Right I can only see doing things a couple of ways:
1) Put all files in one CVS module and create a bunch of aliases
specifying the file names that are required for a product and other
aliases for individual modules. This isn't so bad since we only have
10-20 files per product.
and the modules file would contain:
ProductA CodeBase/file1.c CodeBase/file2.c CodeBase/file3.c ...
ProductB CodeBase/file1.c CodeBase/file4.c CodeBase/file5.c ...
Module2 CodeBase/file4.c CodeBase/file5.c
2) Seperate the files into CVS modules and specifiy aliases
and the module file would contain:
ProductA ProductASpecific Module1 Module2 ...
ProductB ProductBSpecific Module1 Module3 ...
Currently I'm leaning toward method #2. Any suggestions or comments or
better ways to do this would be greatly appreciated. I've searched high
and low and all the organizational tips I've read are geared for
mutually exclusive projects. As far as I can tell our situation isn't
James McTavish <address@hidden>
- Organization tips,
James McTavish <=