Skip to content
Hüseyin Uslu edited this page Jan 29, 2014 · 1 revision

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.

The plan

  • 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.

Clone this wiki locally