Development Model

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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.