Maintaining a main project line with satellite projects
- by NickLarsen
Some projects I work on have a main line of features, but are customizable per customer. Up until now those customizations have been implemented as preferences, but now there are 2 problems with the system...
The settings page is getting out of
control with features. There are
probably some improvements that
could be made to the settings UI,
but regardless, it is quite
cumbersome setting up new instances
for new customers.
Customers have started asking for
customizations which would be more
easily maintained as separate
threads instead of having tons of
customizations code.
Optimally I am envisioning some kind of source control in which features are either in the main project line and customizations per customer are maintained in a repo per customer set up. The customizations per project would need to remain separate but if a bug is found and fixed in a particular project, I would need to percolate the fix back to the main line and into all of the other customer repos.
The problem is I have never seen this done before, and before spending time trying to find source control that can accommodate this scenario and implement it, I figure it best to ask if anyone has something less complicated or knows of a source control product which can handle this with very little hair pulling.