Projet

Général

Profil

GitHotfix » Historique » Version 73

Thierry Jambou, 03/12/2020 10:24

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 58 Gérald Schwartzmann
h2. Fixer un fichier ou deux
29 58 Gérald Schwartzmann
30 58 Gérald Schwartzmann
Se placer dans la branche de version la plus ancienne qui doit contenir le commit :
31 58 Gérald Schwartzmann
<pre>
32 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.2/master
33 58 Gérald Schwartzmann
</pre>
34 58 Gérald Schwartzmann
35 58 Gérald Schwartzmann
Chercher le dernier commit effectué sur le fichier impacté à modifier
36 58 Gérald Schwartzmann
<pre>
37 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git log nomDuFichier
38 58 Gérald Schwartzmann
commit f1b38d73d5cc0ea3cca7fb15d3b77bb996df824d
39 58 Gérald Schwartzmann
Merge: 1b5ad84 636c2d6
40 58 Gérald Schwartzmann
Author: Prénom Nom <pnom@domaine.fr>
41 58 Gérald Schwartzmann
Date:   Fri Mar 31 16:16:53 2017 +0200
42 58 Gérald Schwartzmann
[…]
43 58 Gérald Schwartzmann
</pre>
44 58 Gérald Schwartzmann
45 58 Gérald Schwartzmann
Créer la branche à partir du dernier commit :
46 58 Gérald Schwartzmann
<pre>
47 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git checkout f1b38d73d5cc0ea3cca7fb15d3b77bb996df824d -b 2.6.2/numeroDemande-fix-descriptif
48 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$
49 58 Gérald Schwartzmann
</pre>
50 58 Gérald Schwartzmann
51 58 Gérald Schwartzmann
Corriger, commiter :
52 58 Gérald Schwartzmann
<pre>
53 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$ git add nomDuFichier
54 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$ git commit
55 58 Gérald Schwartzmann
</pre>
56 58 Gérald Schwartzmann
57 58 Gérald Schwartzmann
Se placer sur la branche recevant le merge :
58 58 Gérald Schwartzmann
<pre>
59 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$ git checkout 2.6.2/master
60 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git merge 2.6.2/numeroDemande-fix-descriptif
61 58 Gérald Schwartzmann
</pre>
62 58 Gérald Schwartzmann
63 58 Gérald Schwartzmann
Pousser et empaqueter :
64 58 Gérald Schwartzmann
<pre>
65 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git push origin 2.6.2/master
66 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git package 2.6.2
67 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git package -b -d eole-2.6.2/proposed-updates 2.6.2
68 58 Gérald Schwartzmann
</pre>
69 58 Gérald Schwartzmann
70 2 Daniel Dehennin
h2. Principe de base
71 1 Daniel Dehennin
72 44 Daniel Dehennin
* *@X/master@* : branche d’intégration de code pour la version *X*
73 44 Daniel Dehennin
* *@dist/eole/X/master@* : branche de packaging pour la version EOLE *X*
74 1 Daniel Dehennin
75 1 Daniel Dehennin
On pourrait pousser la distinction pour les branches de codes :
76 1 Daniel Dehennin
77 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 :
78 4 Joël Cuissinat
79 4 Joël Cuissinat
<pre>
80 4 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
81 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
82 4 Joël Cuissinat
</pre>
83 4 Joël Cuissinat
84 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 :
85 5 Joël Cuissinat
86 5 Joël Cuissinat
<pre>
87 5 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
88 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
89 5 Joël Cuissinat
</pre>
90 5 Joël Cuissinat
91 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.
92 24 Klaas TJEBBES
93 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.
94 1 Daniel Dehennin
95 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@* :
96 1 Daniel Dehennin
97 1 Daniel Dehennin
<pre>
98 1 Daniel Dehennin
o-o-o-o-o-o-o-o-o-o-o-o---M  <- master
99 1 Daniel Dehennin
   \   \   \             /
100 1 Daniel Dehennin
    \   \   o-o-o-o-M   /    <- 2.4.2/master
101 1 Daniel Dehennin
     \   \         /   /
102 48 Daniel Dehennin
      \   \     o-o---+      <- 2.4.1/42-fix-machin-bidule (amené à disparaître)
103 1 Daniel Dehennin
       \   \   /   \
104 1 Daniel Dehennin
        \   o-o-o-o-M        <- 2.4.1/master
105 1 Daniel Dehennin
         \
106 1 Daniel Dehennin
          \
107 1 Daniel Dehennin
           o-o-o-o-o-o-o-o-o  <- 2.4.0/master
108 1 Daniel Dehennin
</pre>
109 6 Joël Cuissinat
110 49 Daniel Dehennin
111 73 Thierry Jambou
h2. Mode Opératoire
112 49 Daniel Dehennin
113 49 Daniel Dehennin
Voici une description succinte des manipulations à faire pour produire un correctif
114 49 Daniel Dehennin
115 49 Daniel Dehennin
# S’assurer qu’il y a une demande redmine, on l’appel *@$REDMINE_ISSUE@*
116 49 Daniel Dehennin
# Trouver le commit qui a introduit l’erreur, on l’appel *@$COMMIT_ID@*
117 49 Daniel Dehennin
# Trouver la release EOLE associée à ce commit, on l’appel *@$EOLE_RELEASE@*
118 49 Daniel Dehennin
<pre>
119 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git describe --match release/* $COMMIT_ID
120 49 Daniel Dehennin
</pre>
121 49 Daniel Dehennin
# Créer une branche temporaire pour faire le correctif
122 49 Daniel Dehennin
<pre>
123 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git checkout -b $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule $COMMIT_ID
124 49 Daniel Dehennin
</pre>
125 49 Daniel Dehennin
# Faire le correctif
126 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:
127 49 Daniel Dehennin
<pre>
128 49 Daniel Dehennin
moi@work:~/src/$PAQUET ($EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule)$ git checkout master
129 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git merge --no-ff $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule
130 49 Daniel Dehennin
</pre>
131 49 Daniel Dehennin
# Faire un paquet
132 49 Daniel Dehennin
133 10 Joël Cuissinat
h2. EOLE 2.5
134 10 Joël Cuissinat
135 10 Joël Cuissinat
h3. EOLE 2.5.0
136 10 Joël Cuissinat
137 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*.
138 11 Joël Cuissinat
139 11 Joël Cuissinat
<pre>
140 33 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.0/master
141 11 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.0/master)$ git package 2.5.0
142 1 Daniel Dehennin
moi@work:~/src/$PAQUET (2.5.0/master)$ git package -b -d eole-2.5.0/proposed-updates 2.5.0
143 1 Daniel Dehennin
</pre>
144 1 Daniel Dehennin
145 16 Joël Cuissinat
h3. EOLE 2.5.1
146 1 Daniel Dehennin
147 68 Joël Cuissinat
Les branches *2.5.1/master* et *dist/eole/2.5.1/master* sont utilisées pour la 2.5.1
148 1 Daniel Dehennin
149 16 Joël Cuissinat
<pre>
150 34 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.1/master
151 16 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.1/master)$ git package 2.5.1
152 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
153 16 Joël Cuissinat
</pre>
154 1 Daniel Dehennin
155 35 Joël Cuissinat
h3. EOLE 2.5.2
156 16 Joël Cuissinat
157 68 Joël Cuissinat
Les branches *2.5.2/master* et *dist/eole/2.5.2/master* sont utilisées pour la 2.5.2
158 1 Daniel Dehennin
159 1 Daniel Dehennin
<pre>
160 35 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.2/master
161 35 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.2/master)$ git package 2.5.2
162 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
163 35 Joël Cuissinat
</pre>
164 35 Joël Cuissinat
165 35 Joël Cuissinat
|La branche de packaging *dist/eole/2.5/master* ne doit plus être utilisée.|
166 35 Joël Cuissinat
167 36 Joël Cuissinat
h2. EOLE 2.6
168 36 Joël Cuissinat
169 41 Joël Cuissinat
h3. EOLE 2.6.0
170 41 Joël Cuissinat
171 51 Joël Cuissinat
Les branches *2.6.0/master* et *dist/eole/2.6.0/master* sont utilisées pour la 2.6.0
172 1 Daniel Dehennin
173 40 Joël Cuissinat
<pre>
174 43 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.0/master
175 40 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.0/master)$ git package 2.6.0
176 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
177 40 Joël Cuissinat
</pre>
178 1 Daniel Dehennin
179 50 Joël Cuissinat
h3. EOLE 2.6.1
180 40 Joël Cuissinat
181 68 Joël Cuissinat
Les branches *2.6.1/master* et *dist/eole/2.6.1/master* sont utilisées pour la 2.6.1
182 1 Daniel Dehennin
183 40 Joël Cuissinat
<pre>
184 51 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.1/master
185 51 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.1/master)$ git package 2.6.1
186 51 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.1/master)$ git package -b -d eole-2.6.1/proposed-updates 2.6.1
187 1 Daniel Dehennin
</pre>
188 1 Daniel Dehennin
189 52 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.6.1-proposed-updates/arch/all
190 52 Joël Cuissinat
191 55 Joël Cuissinat
h3. EOLE 2.6.2
192 1 Daniel Dehennin
193 67 Joël Cuissinat
Les branches *2.6.2/master* et *dist/eole/2.6.2/master* sont utilisées pour la 2.6.2
194 55 Joël Cuissinat
195 51 Joël Cuissinat
<pre>
196 55 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.2/master
197 55 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.2/master)$ git package 2.6.2
198 55 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.2/master)$ git package -b -d eole-2.6.2/proposed-updates 2.6.2
199 1 Daniel Dehennin
</pre>
200 1 Daniel Dehennin
201 55 Joël Cuissinat
202 55 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.6.2-proposed-updates/arch/all
203 1 Daniel Dehennin
204 67 Joël Cuissinat
205 67 Joël Cuissinat
| La distribution *eole-2.6-unstable* ne devrait plus être utilisée |
206 55 Joël Cuissinat
207 55 Joël Cuissinat
h2. EOLE 2.7
208 55 Joël Cuissinat
209 55 Joël Cuissinat
h3. EOLE 2.7.0
210 55 Joël Cuissinat
211 68 Joël Cuissinat
Les branches *2.7.0/master* et *dist/eole/2.7.0/master* sont utilisées pour la 2.7.0
212 59 Joël Cuissinat
213 1 Daniel Dehennin
<pre>
214 59 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.0/master
215 59 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.0/master)$ git package 2.7.0
216 59 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.0/master)$ git package -b -d eole-2.7.0/proposed-updates 2.7.0
217 55 Joël Cuissinat
</pre>
218 1 Daniel Dehennin
219 59 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.0-proposed-updates/arch/all
220 1 Daniel Dehennin
221 59 Joël Cuissinat
h3. EOLE 2.7.1
222 1 Daniel Dehennin
223 68 Joël Cuissinat
Les branches *2.7.1/master* et *dist/eole/2.7.1/master* sont utilisées pour la 2.7.1
224 61 Joël Cuissinat
225 1 Daniel Dehennin
<pre>
226 61 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.1/master
227 62 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.1/master)$ git package 2.7.1/master
228 62 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.1/master)$ git package -b -d eole-2.7.1/proposed-updates 2.7.1/master
229 61 Joël Cuissinat
</pre>
230 61 Joël Cuissinat
231 61 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.1-proposed-updates/arch/all
232 61 Joël Cuissinat
233 65 Joël Cuissinat
h3. EOLE 2.7.2
234 1 Daniel Dehennin
235 64 Joël Cuissinat
236 65 Joël Cuissinat
Les branches *2.7.2/master* et *dist/eole/2.7.2/master* sont utilisées pour la 2.7.2
237 65 Joël Cuissinat
238 1 Daniel Dehennin
<pre>
239 64 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.2/master
240 64 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.2/master)$ git package 2.7.2/master
241 65 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.2/master)$ git package -b -d eole-2.7.2/proposed-updates 2.7.2/master
242 1 Daniel Dehennin
</pre>
243 1 Daniel Dehennin
244 65 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.2-proposed-updates/arch/all
245 64 Joël Cuissinat
246 66 Joël Cuissinat
247 66 Joël Cuissinat
| La distribution *eole-2.7-unstable* ne devrait plus être utilisée |
248 66 Joël Cuissinat
249 64 Joël Cuissinat
h2. EOLE 2.8
250 64 Joël Cuissinat
251 71 Joël Cuissinat
h3. EOLE 2.8.0
252 1 Daniel Dehennin
253 70 Joël Cuissinat
Les branches *2.8.0/master* et *dist/eole/2.8.0/master* sont utilisées pour la 2.8.0
254 70 Joël Cuissinat
255 70 Joël Cuissinat
<pre>
256 70 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.8.0/master
257 70 Joël Cuissinat
moi@work:~/src/$PAQUET (2.8.0/master)$ git package 2.8.0/master
258 70 Joël Cuissinat
moi@work:~/src/$PAQUET (2.8.0/master)$ git package -b -d eole-2.8.0/proposed-updates 2.8.0/master
259 70 Joël Cuissinat
</pre>
260 70 Joël Cuissinat
261 70 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.8.0-proposed-updates/arch/all
262 70 Joël Cuissinat
263 70 Joël Cuissinat
h3. EOLE 2.8.1 (unstable)
264 70 Joël Cuissinat
265 70 Joël Cuissinat
Depuis la publication de la version EOLE 2.8.0, les nouvelles fonctionnalités 2.8 doivent être compilés en version *unstable* :
266 64 Joël Cuissinat
<pre>
267 69 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package 2.8.1/master
268 69 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.8/unstable 2.8.1/master
269 64 Joël Cuissinat
</pre>
270 64 Joël Cuissinat
271 64 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.8-unstable/arch/all
272 15 Joël Cuissinat
273 21 Joël Cuissinat
h2. ENVOLE 4
274 15 Joël Cuissinat
275 15 Joël Cuissinat
Les dépôts envole4 sont utilisés pour les versions *EOLE 2.4.2* et *EOLE 2.5.1*
276 15 Joël Cuissinat
277 15 Joël Cuissinat
h3. Paquets de dév
278 15 Joël Cuissinat
279 15 Joël Cuissinat
Distribution : envole-4-unstable
280 1 Daniel Dehennin
281 20 Joël Cuissinat
h3. Paquets candidats
282 20 Joël Cuissinat
283 20 Joël Cuissinat
Distribution : envole-4-testing
284 20 Joël Cuissinat
285 22 Joël Cuissinat
h2. ENVOLE 5
286 20 Joël Cuissinat
287 20 Joël Cuissinat
Les dépôts envole5 sont utilisés à partir de la version *EOLE 2.5.2*.
288 20 Joël Cuissinat
289 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).
290 20 Joël Cuissinat
291 20 Joël Cuissinat
A terme les logiciels seront tous adaptés pour utiliser project:eole-db.
292 20 Joël Cuissinat
293 20 Joël Cuissinat
h3. Paquets de dév
294 20 Joël Cuissinat
295 20 Joël Cuissinat
Distribution : envole-5-unstable
296 20 Joël Cuissinat
297 20 Joël Cuissinat
h3. Paquets candidats
298 1 Daniel Dehennin
299 1 Daniel Dehennin
Distribution : envole-5-testing