Project

General

Profile

Repository » History » Version 20

Pau Escrich, 12/02/2012 10:20 PM

1 1 Pau Escrich
h1. Repository
2 1 Pau Escrich
3 1 Pau Escrich
h2. Structure
4 1 Pau Escrich
5 1 Pau Escrich
The qMp git repository is split in three branches:
6 1 Pau Escrich
7 1 Pau Escrich
# Master
8 1 Pau Escrich
# Testing
9 1 Pau Escrich
# Other/Features
10 1 Pau Escrich
11 1 Pau Escrich
h3. Master
12 1 Pau Escrich
13 1 Pau Escrich
This is the main branch and all changes committed here must be tested in Testing branch before.
14 1 Pau Escrich
15 6 Simó Albert i Beltran
However the small bugfixes can be directly applied here. These changes must be merged in the testing branch.
16 1 Pau Escrich
17 10 Simó Albert i Beltran
<pre>
18 10 Simó Albert i Beltran
o---o---o---o---o master
19 10 Simó Albert i Beltran
                 \  
20 10 Simó Albert i Beltran
--o---o---o---o---o testing 
21 10 Simó Albert i Beltran
</pre>
22 10 Simó Albert i Beltran
23 1 Pau Escrich
h3. Testing
24 1 Pau Escrich
25 8 Simó Albert i Beltran
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.
26 1 Pau Escrich
27 15 Simó Albert i Beltran
When the testing branch are deeply tested by more than one developer, than it can be merged on the master branch.
28 11 Simó Albert i Beltran
29 11 Simó Albert i Beltran
<pre>
30 11 Simó Albert i Beltran
o---o---o---o---o master
31 11 Simó Albert i Beltran
     \         /  
32 11 Simó Albert i Beltran
--o---o---o---o testing 
33 11 Simó Albert i Beltran
</pre>
34 11 Simó Albert i Beltran
35 16 Pau Escrich
*Example:*
36 11 Simó Albert i Beltran
37 16 Pau Escrich
Import master bugfixes to testing
38 18 Pau Escrich
@
39 16 Pau Escrich
git checkout master
40 16 Pau Escrich
git checkout testing
41 16 Pau Escrich
git merge master
42 18 Pau Escrich
@
43 16 Pau Escrich
44 16 Pau Escrich
Merge testing changes in master
45 19 Pau Escrich
@
46 16 Pau Escrich
git checkout master
47 16 Pau Escrich
git merge testing
48 19 Pau Escrich
@
49 16 Pau Escrich
50 12 Simó Albert i Beltran
h3. Other: Features/Bugfixes
51 1 Pau Escrich
52 8 Simó Albert i Beltran
The rest of the branches are temporal branches.
53 8 Simó Albert i Beltran
54 14 Simó Albert i Beltran
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.
55 1 Pau Escrich
56 9 Simó Albert i Beltran
<pre>
57 9 Simó Albert i Beltran
o---o---o---o---o master
58 14 Simó Albert i Beltran
     \
59 9 Simó Albert i Beltran
      o---o---o issue#23-new-feature
60 14 Simó Albert i Beltran
               \
61 9 Simó Albert i Beltran
o---o---o---o---o testing 
62 9 Simó Albert i Beltran
</pre>
63 9 Simó Albert i Beltran
64 16 Pau Escrich
*Example:*
65 9 Simó Albert i Beltran
66 20 Pau Escrich
A bugfix must be implemented in a new branch. This branch must be based on a commit of the master branch. This branch should not be based on a commit of the testing branch because it may contain new features and these may cannot be imported in the master branch. This new branch can be merged in testing.
67 7 Simó Albert i Beltran
68 7 Simó Albert i Beltran
<pre>
69 7 Simó Albert i Beltran
o---o---o---o---o master
70 1 Pau Escrich
     \         /
71 9 Simó Albert i Beltran
      o---o---o issue#23-bugfix
72 7 Simó Albert i Beltran
               \
73 7 Simó Albert i Beltran
o---o---o---o---o testing 
74 7 Simó Albert i Beltran
</pre>
75 16 Pau Escrich
76 16 Pau Escrich
*Example:*
77 1 Pau Escrich
78 1 Pau Escrich
h2. How to use it
79 1 Pau Escrich
80 2 Pau Escrich
81 2 Pau Escrich
h2. Good practices