Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Based on a discussion over #mpos-dev, here's the details of my proposal for mpos development model.
As the project is pushed to an organization now, (https://github.com/MPOS) I think it's a good time to apply the new development model.
The model is based on http://nvie.com/posts/a-successful-git-branching-model/
Basically we need two core branches;
- master (default branch with stable & tested code)
- develop ( development branch with next-gen code that still needs proper testing)
Feature branches; Right now we do use issue-XYZ named branches for PR's. Instead my proposal follows http://nvie.com/posts/a-successful-git-branching-model/ and PR's will be named in this format; "feature-FUNCTIONALITY-DESCRIPTION".
A proper PR should be referencing the issue that it fixes. I've also put a basic developer guide here - https://github.com/mpos/php-mpos/wiki/Developers
Tags Tagging releases will be quite useful.
Milestones The new model will also allow us to utilize the git's milestone's feature, so we can target releases.
- So basically we're sitting at next branch. What we should be next is calling a feature-freeze for a few days and call for bug-fixes from the community.
- Then we should be renaming next branch as master and tag it like 0.0.2 (as it's the current version in source files atm)
- Create the develop branch and accept new PR's to it after code-reviews
- Utilize the feature-XYZ branching model.
- Setup a new milestone for 0.0.3 with basic functionality targets
- Merge develop to master once we hit our 0.0.3 milestone targets and tag it as 0.0.3
- And continue to follow the model.
With all this branching model a pool operator can just;
- stay in master branch and use the latest stable & tested code
- stay with develop branch and merge the latest upstream changes
- can just merge in a feature-XYZ branch for cutting-edge features & testing.
Note: Proposal for this model was discussed in https://github.com/MPOS/php-mpos/issues/1478 and approved.