Skip to content
ejlchappin edited this page Jan 14, 2013 · 44 revisions

Introduction

This document describes the workflow of the EMLab power generation model and github. For more information on github: http://git-scm.com/book

Structure

Github works with repositories, branches and tags. Our central repository is called EMLab, which is located here: https://github.com/EMLab/emlab. Each contributor is a user on Github and has/creates its own repositories for the projects they work on. That's how users typically work on their own repositories and commit finished code parts to the main repository. This keeps the process and result clean.

Within each of the repositories, there are branches. There are three different types of branches. The current stable version of the model is in master. New versions can be merged into this branch when the version in the develop branch is stable. The develop branch contains all finished new features. New features (parts of code, modules, projects) are developed in feature branches.

  • master
  • develop
  • feature/...

There are also tags, that are bookmarks for particular revisions used, for instance in reports and papers. Tags are typically created from the master branch.

  • tag/...

Basic workflow

General / start working

  • Make a private account on Github.
  • Fork from the main repository in your own private repository

For new features

  • Create a new branch called feature/YOURFEATURE from the EMLab/develop branch
  • Work in the new branch on your private repository until you have a working, tested version.
  • Merge new changes from the EMLab/develop branch into your feature branch. Test again whether these changes are compatible.
  • Place a pull request to the EMlab/develop branch

For small changes

  • Merge new changes from the EMLab/develop branch into your develop branch.
  • Work in the develop branch on your private repository until you have a working, tested version.
  • Place a pull request to the EMlab/develop branch

Using github in SpringSource

We develop the model in SpringSource (http://www.springsource.org/sts), which is a version of eclipse, bundled with plugins. The whole process described above can be executed within SpringSource.

TODO: describe the commands in SpringSource.

Clone this wiki locally