Project

General

Profile

Repository » History » Version 40

Simó Albert i Beltran, 03/13/2013 05:36 PM
Remove the proposal of new workflow.

1 40 Simó Albert i Beltran
h1. Repository workflow
2 35 Simó Albert i Beltran
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 23 Simó Albert i Beltran
# Other: Features/Bugfixes
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 22 Simó Albert i Beltran
*Example:*
24 30 Anonymous
<pre><code class="shell">
25 32 Simó Albert i Beltran
git checkout origin/testing
26 32 Simó Albert i Beltran
git merge origin/master
27 29 Simó Albert i Beltran
</code></pre>
28 22 Simó Albert i Beltran
29 22 Simó Albert i Beltran
30 1 Pau Escrich
h3. Testing
31 1 Pau Escrich
32 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.
33 1 Pau Escrich
34 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.
35 11 Simó Albert i Beltran
36 11 Simó Albert i Beltran
<pre>
37 11 Simó Albert i Beltran
o---o---o---o---o master
38 11 Simó Albert i Beltran
     \         /  
39 11 Simó Albert i Beltran
--o---o---o---o testing 
40 11 Simó Albert i Beltran
</pre>
41 11 Simó Albert i Beltran
42 16 Pau Escrich
*Example:*
43 11 Simó Albert i Beltran
44 16 Pau Escrich
Import master bugfixes to testing
45 30 Anonymous
<pre><code class="shell">
46 32 Simó Albert i Beltran
git checkout origin/testing
47 32 Simó Albert i Beltran
git merge origin/master
48 29 Simó Albert i Beltran
</code></pre>
49 16 Pau Escrich
50 16 Pau Escrich
Merge testing changes in master
51 30 Anonymous
<pre><code class="shell">
52 32 Simó Albert i Beltran
git checkout origin/master
53 32 Simó Albert i Beltran
git merge origin/testing
54 29 Simó Albert i Beltran
</code></pre>
55 16 Pau Escrich
56 12 Simó Albert i Beltran
h3. Other: Features/Bugfixes
57 1 Pau Escrich
58 8 Simó Albert i Beltran
The rest of the branches are temporal branches.
59 8 Simó Albert i Beltran
60 26 Simó Albert i Beltran
h4. Features
61 26 Simó Albert i Beltran
62 34 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 and other branches.
63 1 Pau Escrich
64 9 Simó Albert i Beltran
<pre>
65 9 Simó Albert i Beltran
o---o---o---o---o master
66 14 Simó Albert i Beltran
     \
67 9 Simó Albert i Beltran
      o---o---o issue#23-new-feature
68 14 Simó Albert i Beltran
               \
69 9 Simó Albert i Beltran
o---o---o---o---o testing 
70 9 Simó Albert i Beltran
</pre>
71 9 Simó Albert i Beltran
72 16 Pau Escrich
*Example:*
73 9 Simó Albert i Beltran
74 30 Anonymous
<pre><code class="shell">
75 24 Simó Albert i Beltran
git checkout -b issue#23-new-feature origin/master
76 24 Simó Albert i Beltran
editor dir/file
77 25 Simó Albert i Beltran
git add dir/file
78 24 Simó Albert i Beltran
git commit
79 24 Simó Albert i Beltran
#test issue#23-new-feature branch
80 32 Simó Albert i Beltran
git checkout origin/testing
81 24 Simó Albert i Beltran
git merge issue#23-new-feature
82 29 Simó Albert i Beltran
</code></pre>
83 24 Simó Albert i Beltran
84 27 Simó Albert i Beltran
h4. Bugfixes
85 24 Simó Albert i Beltran
86 33 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 should not be based on a commit of the testing branch because it may contain new features and these maybe cannot be imported in the master branch. This new branch can be merged in testing and other branches.
87 7 Simó Albert i Beltran
88 7 Simó Albert i Beltran
<pre>
89 7 Simó Albert i Beltran
o---o---o---o---o master
90 1 Pau Escrich
     \         /
91 9 Simó Albert i Beltran
      o---o---o issue#23-bugfix
92 7 Simó Albert i Beltran
               \
93 7 Simó Albert i Beltran
o---o---o---o---o testing 
94 7 Simó Albert i Beltran
</pre>
95 16 Pau Escrich
96 16 Pau Escrich
*Example:*
97 1 Pau Escrich
98 30 Anonymous
<pre><code class="shell">
99 28 Simó Albert i Beltran
git checkout -b issue#23-bugfix origin/master
100 28 Simó Albert i Beltran
editor dir/file
101 28 Simó Albert i Beltran
git add dir/file
102 28 Simó Albert i Beltran
git commit
103 28 Simó Albert i Beltran
#test issue#23-bugfix branch
104 28 Simó Albert i Beltran
git checkout origin/testing
105 28 Simó Albert i Beltran
git merge issue#23-bugfix
106 28 Simó Albert i Beltran
git checkout origin/master
107 28 Simó Albert i Beltran
git merge issue#23-bugfix
108 29 Simó Albert i Beltran
</code></pre>
109 28 Simó Albert i Beltran
110 28 Simó Albert i Beltran
111 1 Pau Escrich
h2. How to use it
112 1 Pau Escrich
113 2 Pau Escrich
114 2 Pau Escrich
h2. Good practices