Project

General

Profile

Repository » History » Version 19

Version 18 (Pau Escrich, 12/02/2012 10:17 PM) → Version 19/43 (Pau Escrich, 12/02/2012 10:19 PM)

h1. Repository

h2. Structure

The qMp git repository is split in three branches:

# Master
# Testing
# Other/Features

h3. Master

This is the main branch and all changes committed here must be tested in Testing branch before.

However the small bugfixes can be directly applied here. These changes must be merged in the testing branch.

<pre>
o---o---o---o---o master
\
--o---o---o---o---o testing
</pre>

h3. Testing

This is the branch for test new features and changes. The features must be already working features tested before in a specific branch by at least the developer. A feature can be committed here only when it is finished, but not in a middle state.

When the testing branch are deeply tested by more than one developer, than it can be merged on the master branch.

<pre>
o---o---o---o---o master
\ /
--o---o---o---o testing
</pre>

*Example:*

Import master bugfixes to testing
@
git checkout master
git checkout testing
git merge master
@

Merge testing changes in master
@ <code>
git checkout master
git merge testing
@ </code>

h3. Other: Features/Bugfixes

The rest of the branches are temporal branches.

If it is about a new feature the name of the branch must be the name of the feature (of some name which identifies it). These branches are considered non-functional, so a non-finished feature can be committed here. This branch should preferably be based on a commit of master branch. Once the feature is finish and tested by at least the developer, it should be merged to testing.

<pre>
o---o---o---o---o master
\
o---o---o issue#23-new-feature
\
o---o---o---o---o testing
</pre>

*Example:*

A bugfix must be implemented in a new branch. This branch must be based on a commit of the master branch. This branch can't be based on a commit of the testing branch because this branch can has new features, and these new features maybe can't be imported in the master branch. This new branch can be merged in testing.

<pre>
o---o---o---o---o master
\ /
o---o---o issue#23-bugfix
\
o---o---o---o---o testing
</pre>

*Example:*

h2. How to use it

h2. Good practices