0

I have a project on my hands with a web server and app server and then a data layer.

I frequently have a need to create versions of software for different clients of mine to use.

Sometimes, only api route changes, sometimes everything changes from end to end, sometimes only app server and data layer changes.

The issue I have is how to version my code in these kind of situations. One thing I can do i.e. the solution if I may say so is branching out the code and work on however I want and that can be made a version and catered to clients accordingly, the problem with this is code maintenance and if the frequency increases I have the issue of maintaining the versions of code in repo.

What is the best way I can version my APIs or/and Business logic or/and data and scripts?

Cheers!

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Immortal
  • 1,233
  • 4
  • 20
  • 47

1 Answers1

1

Unless you intend to merge back into the root, then you should branch for each client and maintain that clients branch forever. Is there any issue with doing that ?

PhillipH
  • 6,182
  • 1
  • 15
  • 25
  • That is an obvious solution as I mentioned in my question. However, the changes unfortunately for us are too frequent and we have way too many clients to deal with making it tough to maintain the code base and eventually can end up with too many branches of the same code. I think it is maintenance headache? – Immortal Feb 28 '16 at 11:53
  • 1
    Obvious; yes. Correct; also yes. If you have many clients with many different versions you are going to need many code branches. There isn't a way around that as far as I know. At least by formally branching per client you can maintain their installed system, and share improvements across clients by selectively merging individual files. – PhillipH Feb 28 '16 at 16:34