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

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -