Project

General

Profile

GitHotfix » History » Version 49

Daniel Dehennin, 12/08/2016 11:41 AM

1 1 Daniel Dehennin
{{toc}}
2 1 Daniel Dehennin
3 8 Joël Cuissinat
h1. Préparer un correctif pour EOLE 2.4 ou EOLE 2.5
4 1 Daniel Dehennin
5 2 Daniel Dehennin
*RAPPEL* : Il ne faut jamais fusionner une branche d’une version supérieure à une version inférieure, par exemple :
6 2 Daniel Dehennin
7 2 Daniel Dehennin
* *NE PAS FAIRE*
8 2 Daniel Dehennin
<pre>
9 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge master
10 2 Daniel Dehennin
</pre>
11 2 Daniel Dehennin
* *NE PAS FAIRE*
12 2 Daniel Dehennin
<pre>
13 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.1
14 2 Daniel Dehennin
</pre>
15 2 Daniel Dehennin
* *NE PAS FAIRE*
16 2 Daniel Dehennin
<pre>
17 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/master
18 2 Daniel Dehennin
</pre>
19 2 Daniel Dehennin
* *NE PAS FAIRE*
20 2 Daniel Dehennin
<pre>
21 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.2
22 2 Daniel Dehennin
</pre>
23 3 Daniel Dehennin
* *NE PAS FAIRE*
24 3 Daniel Dehennin
<pre>
25 3 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/42-fix-machin-truc
26 3 Daniel Dehennin
</pre>
27 2 Daniel Dehennin
28 2 Daniel Dehennin
h2. Principe de base
29 1 Daniel Dehennin
30 44 Daniel Dehennin
* *@X/master@* : branche d’intégration de code pour la version *X*
31 44 Daniel Dehennin
* *@dist/eole/X/master@* : branche de packaging pour la version EOLE *X*
32 1 Daniel Dehennin
33 1 Daniel Dehennin
On pourrait pousser la distinction pour les branches de codes :
34 1 Daniel Dehennin
35 4 Joël Cuissinat
* 2.4.0/master: branche d’intégration des hotfix pour 2.4.0, intégrée dans dist/eole/2.4.0/master pour créer un paquet, ce qui donne :
36 4 Joël Cuissinat
37 4 Joël Cuissinat
<pre>
38 4 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
39 4 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package -b -d eole-2.4.0/proposed-updates 2.4.0
40 4 Joël Cuissinat
</pre>
41 4 Joël Cuissinat
42 5 Joël Cuissinat
* 2.4.1/master: branche d’intégration des hotfix pour 2.4.1, intégrée dans dist/eole/2.4.1/master pour créer un paquet, ce qui donne :
43 5 Joël Cuissinat
44 5 Joël Cuissinat
<pre>
45 5 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
46 5 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package -b -d eole-2.4.1/proposed-updates 2.4.1
47 5 Joël Cuissinat
</pre>
48 5 Joël Cuissinat
49 47 Daniel Dehennin
* *@2.4.1/42-fix-machin-bidule@* : branche contenant le correctif pour le bug *machin bidule* (numéro redmine *@#42@*) apparu sur 2.4.1.
50 24 Klaas TJEBBES
51 47 Daniel Dehennin
Cette branche sera intégrée à 2.4.1/master, 2.4.2/master et toutes les autres 2.4.X/master si le problème *machin bidule* y est présent, jusqu’à la branche de développement.
52 1 Daniel Dehennin
53 47 Daniel Dehennin
Cela pourrait être représenté de la façon suivante, les *o* sont des commits et les *M* sont des *@merge commits@* :
54 1 Daniel Dehennin
55 1 Daniel Dehennin
<pre>
56 1 Daniel Dehennin
o-o-o-o-o-o-o-o-o-o-o-o---M  <- master
57 1 Daniel Dehennin
   \   \   \             /
58 1 Daniel Dehennin
    \   \   o-o-o-o-M   /    <- 2.4.2/master
59 1 Daniel Dehennin
     \   \         /   /
60 48 Daniel Dehennin
      \   \     o-o---+      <- 2.4.1/42-fix-machin-bidule (amené à disparaître)
61 1 Daniel Dehennin
       \   \   /   \
62 1 Daniel Dehennin
        \   o-o-o-o-M        <- 2.4.1/master
63 1 Daniel Dehennin
         \
64 1 Daniel Dehennin
          \
65 1 Daniel Dehennin
           o-o-o-o-o-o-o-o-o  <- 2.4.0/master
66 1 Daniel Dehennin
</pre>
67 6 Joël Cuissinat
68 49 Daniel Dehennin
69 49 Daniel Dehennin
h2. Mode Opératiore
70 49 Daniel Dehennin
71 49 Daniel Dehennin
Voici une description succinte des manipulations à faire pour produire un correctif
72 49 Daniel Dehennin
73 49 Daniel Dehennin
# S’assurer qu’il y a une demande redmine, on l’appel *@$REDMINE_ISSUE@*
74 49 Daniel Dehennin
# Trouver le commit qui a introduit l’erreur, on l’appel *@$COMMIT_ID@*
75 49 Daniel Dehennin
# Trouver la release EOLE associée à ce commit, on l’appel *@$EOLE_RELEASE@*
76 49 Daniel Dehennin
<pre>
77 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git describe --match release/* $COMMIT_ID
78 49 Daniel Dehennin
</pre>
79 49 Daniel Dehennin
# Créer une branche temporaire pour faire le correctif
80 49 Daniel Dehennin
<pre>
81 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git checkout -b $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule $COMMIT_ID
82 49 Daniel Dehennin
</pre>
83 49 Daniel Dehennin
# Faire le correctif
84 49 Daniel Dehennin
# Intégrer le correctif aux branches impactés, en commençant par master si le problème existe dans la branche de développement:
85 49 Daniel Dehennin
<pre>
86 49 Daniel Dehennin
moi@work:~/src/$PAQUET ($EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule)$ git checkout master
87 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git merge --no-ff $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule
88 49 Daniel Dehennin
</pre>
89 49 Daniel Dehennin
# Faire un paquet
90 49 Daniel Dehennin
91 10 Joël Cuissinat
h2. EOLE 2.4
92 1 Daniel Dehennin
93 10 Joël Cuissinat
h3. EOLE 2.4.0
94 1 Daniel Dehennin
95 10 Joël Cuissinat
<pre>
96 25 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.0/master
97 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
98 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package -b -d eole-2.4.0/proposed-updates 2.4.0
99 10 Joël Cuissinat
</pre>
100 9 Joël Cuissinat
101 10 Joël Cuissinat
h3. EOLE 2.4.1
102 10 Joël Cuissinat
103 1 Daniel Dehennin
<pre>
104 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.1/master
105 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
106 17 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package -b -d eole-2.4.1/proposed-updates 2.4.1
107 1 Daniel Dehennin
</pre>
108 1 Daniel Dehennin
109 10 Joël Cuissinat
h3. EOLE 2.4.2
110 1 Daniel Dehennin
111 13 Joël Cuissinat
Les branches *2.4.2/master* et *dist/eole/2.4.2/master* ayant été créées à la demande, les projets n'ayant pas nécessité de modifications spécifiques pour la version 2.4.2 ne possèdent pas ces branches.
112 12 Joël Cuissinat
113 10 Joël Cuissinat
<pre>
114 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.2/master
115 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.2/master)$ git package 2.4.2
116 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.2/master)$ git package -b -d eole-2.4.2/proposed-updates 2.4.2
117 9 Joël Cuissinat
</pre>
118 10 Joël Cuissinat
119 10 Joël Cuissinat
h2. EOLE 2.5
120 10 Joël Cuissinat
121 10 Joël Cuissinat
h3. EOLE 2.5.0
122 10 Joël Cuissinat
123 11 Joël Cuissinat
Seuls les paquets communs et ceux utilisés par les modules annoncés comme stables (Zéphir et Seshat) possèdent les branches *2.5.0/master* et *dist/eole/2.5.0/master*.
124 11 Joël Cuissinat
125 11 Joël Cuissinat
<pre>
126 33 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.0/master
127 11 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.0/master)$ git package 2.5.0
128 1 Daniel Dehennin
moi@work:~/src/$PAQUET (2.5.0/master)$ git package -b -d eole-2.5.0/proposed-updates 2.5.0
129 1 Daniel Dehennin
</pre>
130 1 Daniel Dehennin
131 16 Joël Cuissinat
h3. EOLE 2.5.1
132 1 Daniel Dehennin
133 19 Joël Cuissinat
Les branche *2.5.1/master* et *dist/eole/2.5.1/master* sont utilisées pour la 2.5.1
134 1 Daniel Dehennin
135 16 Joël Cuissinat
<pre>
136 34 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.1/master
137 16 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.1/master)$ git package 2.5.1
138 16 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.1/master)$ git package -b -d eole-2.5.1/proposed-updates 2.5.1
139 16 Joël Cuissinat
</pre>
140 1 Daniel Dehennin
141 35 Joël Cuissinat
h3. EOLE 2.5.2
142 16 Joël Cuissinat
143 35 Joël Cuissinat
Les branche *2.5.2/master* et *dist/eole/2.5.2/master* sont utilisées pour la 2.5.2
144 1 Daniel Dehennin
145 1 Daniel Dehennin
<pre>
146 35 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.2/master
147 35 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.2/master)$ git package 2.5.2
148 35 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.2/master)$ git package -b -d eole-2.5.2/proposed-updates 2.5.2
149 35 Joël Cuissinat
</pre>
150 35 Joël Cuissinat
151 35 Joël Cuissinat
|La branche de packaging *dist/eole/2.5/master* ne doit plus être utilisée.|
152 35 Joël Cuissinat
153 36 Joël Cuissinat
h2. EOLE 2.6
154 36 Joël Cuissinat
155 41 Joël Cuissinat
h3. EOLE 2.6.0
156 41 Joël Cuissinat
157 40 Joël Cuissinat
Les branche *2.6.0/master* et *dist/eole/2.6.0/master* sont utilisées pour la 2.6.0
158 1 Daniel Dehennin
159 40 Joël Cuissinat
<pre>
160 43 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.0/master
161 40 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.0/master)$ git package 2.6.0
162 40 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.0/master)$ git package -b -d eole-2.6.0/proposed-updates 2.6.0
163 40 Joël Cuissinat
</pre>
164 1 Daniel Dehennin
165 40 Joël Cuissinat
h3. EOLE 2.6.1 (unstable)
166 40 Joël Cuissinat
167 40 Joël Cuissinat
Actuellement (*octobre 2016*), les branches *master* et *dist/eole/2.6.1/master* sont utilisées pour la 2.6.1
168 40 Joël Cuissinat
169 38 Joël Cuissinat
<pre>
170 40 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package 2.6.1
171 40 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.6/unstable 2.6.1
172 15 Joël Cuissinat
</pre>
173 20 Joël Cuissinat
174 15 Joël Cuissinat
h2. ENVOLE 4
175 21 Joël Cuissinat
176 15 Joël Cuissinat
Les dépôts envole4 sont utilisés pour les versions *EOLE 2.4.2* et *EOLE 2.5.1*
177 15 Joël Cuissinat
178 15 Joël Cuissinat
h3. Paquets de dév
179 15 Joël Cuissinat
180 15 Joël Cuissinat
Distribution : envole-4-unstable
181 15 Joël Cuissinat
182 1 Daniel Dehennin
h3. Paquets candidats
183 20 Joël Cuissinat
184 20 Joël Cuissinat
Distribution : envole-4-testing
185 20 Joël Cuissinat
186 20 Joël Cuissinat
h2. ENVOLE 5
187 22 Joël Cuissinat
188 20 Joël Cuissinat
Les dépôts envole5 sont utilisés à partir de la version *EOLE 2.5.2*.
189 20 Joël Cuissinat
190 20 Joël Cuissinat
Certains des logiciels fournis dans cette version sont incompatibles avec les versions d'apache/php de la distribution _Precise_ (2.4).
191 20 Joël Cuissinat
192 20 Joël Cuissinat
A terme les logiciels seront tous adaptés pour utiliser project:eole-db.
193 20 Joël Cuissinat
194 20 Joël Cuissinat
h3. Paquets de dév
195 20 Joël Cuissinat
196 20 Joël Cuissinat
Distribution : envole-5-unstable
197 20 Joël Cuissinat
198 20 Joël Cuissinat
h3. Paquets candidats
199 20 Joël Cuissinat
200 1 Daniel Dehennin
Distribution : envole-5-testing