locked
What is a good solution to maintain Version controls? RRS feed

  • Question

  • User1081236289 posted

    Hi All,

    We have a web Product and we are expecting 300-400 clients. We have developed the product as below technology. 

    MVC-4, C#.net4.0, Entity Framework (latest version).

    After the first release each client rquired different kind of requirement. if we maintain each code base as seperate than it is difficult to maintain 300-600 versions of code base.

    What is a good solution to maintain the Product version's? In real world what are all the different approaches to maintain these kind of product source code.

    Please Advise.

    Thanks

    Mayil.M

    Thursday, October 17, 2013 12:35 AM

All replies

  • User398825048 posted

    For maintaing different versions you can use SVN repository.

    OR

    If you want to keep Common code base for all the clients then u must design your code in such a way that it can run for all clients. i.e. u can check if client is A then run A code, if client is B then run B code. u can do it at code level or dbase level.

    Hope it helps.

    Thursday, October 17, 2013 2:23 AM
  • User-488622176 posted

    The solution is a good software achitecture. Apply the principle "open for extension, closed for modification". There is no way to maintain 1 app for 400 clients when you allow random changed to code. What you should do:

    • Define what can be changed by customers (changed : extended or default implementation overriden by customer specific)
    • Build your architecture around this
      • Use a baseline with extension point
      • Expect extension (or overrides) to be in separate assemblies
    • Only build the extensions per client
    • Put the base version (shared) and customer versions (extensions) in separate assemblies & separate source code structures
    Thursday, October 17, 2013 9:33 AM