my company is switching to GIT (from SVN).
I have been reading this about GIT flow:
http://nvie.com/posts/a-successful-git-branching-model/
And I don't understand, how I can fit it to our current release schema.
Current release schema
Let's say the corporate divison of our company issues software X.
Our team developps packages / modules for the software.
Sometimes, over the different versions of the software, we don't need to change anythings, only mild bug fix =>See package 2.
Sometimes, the corporate guys issues in some area many design changes and we have to create version specific adjustments (code, documentations or configurations) => see package 1 or 3.
How it's being dealt with at the moment in SVN:
working with the trunk / branch layout. If you get something version specific, let's say for code in package 1, you will find a V12, V14, V15, V16 and V16 sub-directories with the versions specific changes. Our release tools (ANT / Jenkins ) deals with this complexity.
My question:
In the GIT flow, the release branches are being deleted, merged back to master and tagged there.
How do you deal with bug fixes in legacy versions (in my example Client 4)?
How do you deal with clients who wants to acquire a legacy Version of a Package (Client 1 upgrade plan)?
(In the real life, we have 100+ packages and 20+ clients)
I've read these but didn't find answer to my question:
Git-flow and master with multiple parallel release-branches
Git flow: Best practice for dealing with minor releases
Multiple development branches with git-flow
Thanks for your help