Project

General

Profile

Repository » History » Version 19

Pau Escrich, 12/02/2012 10:19 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 15 Simó Albert i Beltran
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.
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