V
V
Vsevolod2013-02-05 01:18:31
git
Vsevolod, 2013-02-05 01:18:31

Application support for multiple clients in parallel?

There is a large project in PHP. The code is in SVN in several repositories. During development, branches and tags are successfully used, each task is done in a separate branch. In principle, everything is OK, conflicts arise only when old branches are merged. Everything was fine, but recently there was a need to deliver this project to several clients. These will be stripped down versions of the product, slightly different for each customer. Perhaps each client will still have some specific features.
Attention question. How to manage all this now?
I thought of maintaining a separate branch for each client, from time to time pouring changes from the trunk into the branch and making only very specific features for the client in the branch. But I read that maintaining parallel long-lived branches in SVN (and in any other version control system) is a waste. Everyone advises to simply make a modular architecture and keep all the features in the main branch, and then make specific assemblies for a specific client. But there are problems:
1. Modularity has been implemented in half of the project so far, and it is not easy and long to implement it in full
2. I cannot put all possible features in the builds of all clients and simply make some of them inactive (as many advise). If something should not be in the code, it really should not be.
3. I am depressed by the fact that in SVN I will not have a project history for a particular client.
Now they will probably write to me that GIT should be used instead of SVN. But really, someone in the git leads parallel branches for a long time?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question