For the git flow: 1. We agreed to follow git-flow explained here http://nvie.com/posts/a-successful-git-branching-model/ 2. This is the proposal for first cut 2a. rename 'master' to 'develop’ 2b. branch a new 'master' from ‘4.4’ and update tags with release/4.4.0 2c. branch ‘release/4.5' from the develop 2d. merge ‘release/4.5' to master once the release voting is done. 3. This would be the flow for a hot fix 3a. branch off from the release tag on master. in this case it would be release/4.4.0 3b. commit the fixes in hotfix/4.4.1 3c. do the release 3d. merge to develop 3e. merge to master and update tags 3f. delete hot fix branch 4. for any LTS release create a support branch when required using git-flow support 4a. http://stackoverflow.com/a/16866118/201514
using the git-flow git extension available at https://github.com/nvie/gitflow can reduce the number of commands/errors In addition: 1. Every commit should have unit tests 2. every feature/merge request should have unit and marvin integration tests 3. A commit should not have check style or find bugs issues 4. any coverity issues reported in the new code should be addressed immediately 5. every developer should run the BVT on the simulator before doing a checkin (https://cwiki.apache.org/confluence/display/CLOUDSTACK/Validating+check-ins+for+your+local+changes%2C+using+Simulator<https://cwiki.apache.org/confluence/display/CLOUDSTACK/Validating+check-ins+for+your+local+changes,+using+Simulator>) (This I am not very sure. May be we should let jenkins handle it and report integration failures if any?) Please add/amend if I missed anything. Can we call for a vote on this and freeze this without further delay? ~Rajani