OK, I kind of feel foolish asking this question. I have been randomized by several articles which contradict my background experience and knowledge in this area. But this is a different kind of a project than what I am used to in the enterprise, so I am
prepared to believe that others have varying opinions about this for an open source project. So, I would like to reach some concensus as the project moves forward.
Development with Branches - in this project.
We use GIT, we use personal Forks, and we currently use branches for different released versions of the code. (i.e. 'master' - being the main trunk and representative of the project moving forward, 126.96.36.199 a snapshot of the 188.8.131.52 release, and 184.108.40.206.
the next major release in development.)
The intention to date has been to develop major releases on seperate branches (i.e. like 220.127.116.11) and merge back into 'master' when that code is released, effectively freezing the release branch.
But many believe in developing the current/next release on the main trunk, and merging to the release branch as the release is built up and then freezing it later. Slightly different appraoch, probably technically no difference to GIT, but nonetheless this
is a change in the work flow of the community.
So, what is best and why?
- Developing on a version branch (i.e. 18.104.22.168), and merging to 'master' trunk at release time.
- Developing on 'master' trunk and merging to release branch, up to the release time.
Either way we need to be clear on this workflow in the community.
So, over to you.
Your thoughts and rationale for either way, or another?