Skip to content
tillmo edited this page Oct 1, 2014 · 13 revisions

[If you are not familiar with git, have a look at http://git-scm.com/book]

  1. According to our branching model, there must be three development branches:
  • master for the release version of the code
  • staging for verifying the stability of the future release, generally considered stable
  • develop for verifying if features of the future release conflict with each other

Everyone shall commit and push to the feature branch often. Everyone shall merge his/her feature branches into develop until the evening of the day prior to the weekly meeting - but only if tests pass locally in the branch.

  1. There must be three deployment branches:
  • ontohub.org for the version currently deployed in the website
  • develop.ontohub.org for the version currently deployed in the develop website
  1. There must be one branch per issue. The name of the branch must be composed of an identifier and a description. The identifier must be the number of the issue in Github. The description must be an action that the final user should be enable to or disabled from doing and must be inspired by the title of the issue.

Hotfixes can be directly introduced into branches (staging). But we strongly suggest to still create an issue-branch (without a github issue identifier) and to create a pull-request, which will be immediately merged by the author.

Overall-Schema:

  • GitHubIssueID-description_of_branch

Examples

  • 134-importing_hets_library
  • 122-deleting_ontologies
  1. Resources:
  1. This is our current branching scheme:
  • master is the release branch (releases will point to a commit on master).
  • staging merges feature branches that are considered ready, is generally considered stable.
  • ontohub.org and spaceportal.org are public installations of Ontohub.
  • develop.ontohub.org should reflect the current development state of Ontohub.
                                                                                                                     
          +--------------+                +-------------+     +--------------------------------+     +--------------+
          |    master    | -------------> |   staging   | <-- ( Upon Completion (Pull-Request) ) <-- | New Features |
          +--------------+                +-------------+     +--------------------------------+     +--------------+
           |            |                   |        |                                                             | 
           |            |                   |        |          +------------------+         +-----------+         | 
           v            |                   |        |--------> ( Via reset --hard ) ------> |  develop  | <-------| 
  +-------------+       |                   |                   (     regularly    )         +-----------+           
  (   Release   )       |                   |                   +------------------+               |                 
  ( e.g. 0.7.6  )       |                   |                                                      |                 
  +-------------+       |                   |                                                      |                 
                        v                   v                                                      v                 
                +-----------------+       +-------------+                                 +---------------------+    
                | spaceportal.org |       | ontohub.org |                                 | develop.ontohub.org |    
                +-----------------+       +-------------+                                 +---------------------+