Hello.
I'm looking for examples on how to use Subversion efficiently in the
context of component management.
We develop some products that we have to adapt to different markets. Some
of the features are common, some are partially common, and some are unique
for each market. Sounds like the definition of product variants, doesn't it.
We decided some time ago to use more and more a component approach for
those software products, in order to maximize their reutilization in
different variants, and to minimize the typical maintenance problems of
fixing / enhancing / modifying common and non-common parts of the software.
Now we are using (abusing?) svn:external across different branches of our
product variants, but we are afraid of escalating problems when we have
even more variants, more products and more systems of products.
So I have researched a little (read: I have used Google) and I have
stumbled upon three different approaches to the problem:
1) Yes, do use svn:externals! (with some structure and planning ahead).
This is the approach proposed by John Martin in Reusable Component
Management Through the Use of Subversion Externals (
http://www.bcs.org/upload/pdf/reusable-component-mgt-jmartin0708.pdf ).
It's perhaps a bit dated, but it presents several good ideas, I think.
2) Well, you'd better use something outside Subversion to do the real
component management (a --possibly versioned-- file, a database...), and,
at most, use some kind of script or the like to maintain a set of
svn:external properties in the repository. This is the advice that my
admired Stefan Sperling gave in this forum some time ago (
http://svn.haxx.se/users/archive-2010-11/0097.shtml )
3) Please, use our specialised tool for modelling and managing your product
line and regard Subversion only as a revision control system to deal with
later
I’m tempted to follow Stefan’s advice, but I would be grateful to have more
specific examples on how others are implementing it (if any), or how others
are using John’s solution, or if there are other possible approaches
(examples, articles, links, even products) that could help me.
Thank you very much for your time.
--
Saludos / regards
Ignacio G. T.
Received on 2016-06-17 17:39:08 CEST