Can anyone make a suggestion on how to utilize CVS to best support multiple
projects utilizing components of a shared library? (The actual case is a
library of JavaScript modules -- each project uses a different subset of
the library.)
Ideally, the setup would make it "easy" to propigate bug fixes to all
affected projects, while also allowing for the occasional project specific
modifications to be made and tracked.
The two approaches I've thought of are:
1) Library Modules are checked out directly from the library, and are never
part of the project repository. Bug fixes just require a checkout, and
project modifications are done as branches.
2) Library Modules are exported from the library and imported into the
project Repository. Bug fixes are treated as a new vendor release.
The main problem I see with #1 is that projects are eventually shipped,
then archived. Archiving project modification branches, and cleaning those
out of the Library repository, seems complicated and not likely to happen.
The main problem with #2 is the work involved in propagating a bug fix.
Given how often new browsers come out, maintenance releases of the library
happen fairly often, so this is an issue.
Comments?
--Hal Wine