Project

General

Profile

Rule of Shared Repository

Overview

This document provides rule of handling shared repository of developing OpenPNE3.

Everyone must follow this rule to handle the shared repository.

Shared Repository

git://github.com/openpne/OpenPNE3.git

Branches

Branches of the shared repository must limit the release branches (they contain the master branch). Don't push a branch for your work. You should create such a branch to your repository.

Master Branch

In the master branch of the shared repository, to merge bug fixes and feature additions to the development version.

'stable-3.x.x' Branch

It is a branch of the order to carry out maintenance of the stable version (such as bug fixes).
When bug fixed, attach a tag to a specific revision of this branch, it will be released.

"push" privilege to handle shared repository

GitHub accounts that are in the following list, can execute "push" operations to shared repository (as of Jun 23, 2014):

If you think that you are worthy of getting "push" privilege, please tell your GitHub account to balibali, nishizoe, ShinichiU, or tejima.

Committing

Direct Committing

Committing direct is not allowed excepting few cases.

Release Manager can directly commit when he works for releasing.

In other cases, anyone must work in his own clone.

Commit Messages

In merging, commit messages must follow the following rule:
  • A message must be written in English. A message can contain other languages, but that must be explained in English.
  • A message must contain related ticket ID. The ID must be specified with "refs" or "fixes" keyword. We have useful hook script for keeping it: http://gist.github.com/202866
    e.g. "Added ability to delete member from the mobile_backend application (refs #1)", "Added ability to configure gadgets from the mobile_backend application. Adding support to manage SNS from mobile is now completed. (fixes #1)"
  • A message must tell everyone what the commit is.

A commit that doesn't follow this rule, most likely is rejected.

Merging

It merge after the test is complete.
Change a status of the related ticket to "Fixed".(Changing status is doing automatically if a commit is related with a ticket by the "fixes" keyword in its message)