How to store custom version / differentiell branches in SVN? -
we want create custom versions of our software different customers. these custom version can more or less customized there might 10 changed files smaller ones , hundreds of changed files bigger ones. since there might big number of custom version, don't want copy/branch whole project, rather add changed files custom version folder. structure might this:
standard version: - foo - bar - class1 - class2 - class3 custom version x: - foo - bar - class1 custom version y: - foo - bar - class2 - customclassy
when building project, checkout standard version first , custom version second, overwriting standard files customized. compile, install, test , on.
my question is: useable concept? have deployed this? obstacles? , alternatives?
one alternative comes mind creating traditional branch, merge changes standard version regularly. maybe automated build server merge changes every night before doing full build?
you can this, there caveats - need consider how handle (for example), deleting file in base version in custom folder.
another approach have bunch of customer specific directories (under /customer). treat 'vanilla' version customer no deltas. build process take base version , iterate on customer directories, building each in turn. bonus points, @ using union filesystem (like aufs) don't have refresh base code each time.
or, keep each customer's changes patch files. require more work on checkin/out (unless script hooks), should make process of keeping customer files date easier.
Comments
Post a Comment