Sharing modules across projects - will this work?
Contemplating switching to Subversion, but want to confirm that I can
really do what I'm about to outline:
We have a shared "core" module which is used by many projects. The core
is essentially the same across, but development of it happens within a
given project. This means that changes need to be somewhat controlled
and that frequent merges needs to happen across projects or we run into
a lot of problems with features/bugs not fixed in all projects.
Historically we've used CVS and had a branch for each project in the
core module. This lead to a lot of headaches, mostly relating to
insufficient merging, difficulty branching (they need to go across the
entire project which consists of multiple modules), need to use
batch-files to control the checkout for a given project etc etc (we've
tried aliases, but it gets messy when we start tagging & branching).
With Subversion I'm under the impression that I can have the following
The "main" core module would have it's own directory:
The project would branch the core _into_ it's own directory:
(the myproject\trunk\ also contains all the project-specific code)
Then when the project-based core-changes need to be merged back, we'd
merge _from_ the project _to_ the core:
merge myproject\trunk\core\... => core\trunk\...
The branch would then be deleted:
The main core would then be tagged:
tag core\trunk\... => core\tags\CORE_X_Y_MYPROJECT
and subsequently branched out to the project:
branch core\tags\CORE_X_Y_MYPROJECT\... => myproject\trunk\core\...
This way, the project contains it's own copy of the core and it can be
branched and tagged just as normal, but we also have a controlled way of
sharing the module through backmerging.
Will this work? Is it the "right" way of doing it, or should we be doing
it another way?
ps. please respond both to the list and to my private email. Thanks!
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Thu Nov 25 00:12:15 2004
This is an archived mail posted to the Subversion Users