Basically the scenario is this:
There is one main version of an application but it is modified for each client. The development is usually through the version that is currently worked on
All the other versions should be updated after adding new features or bug fixes
Application is written in ASP.NET MVC C#
Git is used for source control and there is one server version for each project. Branching is used mainly for working on different features
Here are my thoughts on the problem:
Since the current modified version is the latest one and I add a feature I have to somehow add it to all of the other projects. Same goes for fixing bugs. Doing that manually is out of the question so I guess I have to use some complex way of version control and merging?
Is this is even possible to pull off? I fear that at some point (20 versions) it will be impossible to keep up with what's were. The problem is I don't see any other solutions...