Projet

Général

Profil

GitHotfix » Historique » Version 61

Joël Cuissinat, 08/07/2019 17:31

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 49 Daniel Dehennin
h2. Mode Opératiore
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.4
134 1 Daniel Dehennin
135 10 Joël Cuissinat
h3. EOLE 2.4.0
136 1 Daniel Dehennin
137 10 Joël Cuissinat
<pre>
138 25 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.0/master
139 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
140 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
141 10 Joël Cuissinat
</pre>
142 9 Joël Cuissinat
143 10 Joël Cuissinat
h3. EOLE 2.4.1
144 10 Joël Cuissinat
145 1 Daniel Dehennin
<pre>
146 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.1/master
147 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
148 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
149 1 Daniel Dehennin
</pre>
150 1 Daniel Dehennin
151 10 Joël Cuissinat
h3. EOLE 2.4.2
152 1 Daniel Dehennin
153 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.
154 12 Joël Cuissinat
155 10 Joël Cuissinat
<pre>
156 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.2/master
157 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.2/master)$ git package 2.4.2
158 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
159 9 Joël Cuissinat
</pre>
160 10 Joël Cuissinat
161 10 Joël Cuissinat
h2. EOLE 2.5
162 10 Joël Cuissinat
163 10 Joël Cuissinat
h3. EOLE 2.5.0
164 10 Joël Cuissinat
165 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*.
166 11 Joël Cuissinat
167 11 Joël Cuissinat
<pre>
168 33 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.0/master
169 11 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.0/master)$ git package 2.5.0
170 1 Daniel Dehennin
moi@work:~/src/$PAQUET (2.5.0/master)$ git package -b -d eole-2.5.0/proposed-updates 2.5.0
171 1 Daniel Dehennin
</pre>
172 1 Daniel Dehennin
173 16 Joël Cuissinat
h3. EOLE 2.5.1
174 1 Daniel Dehennin
175 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
176 1 Daniel Dehennin
177 16 Joël Cuissinat
<pre>
178 34 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.1/master
179 16 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.1/master)$ git package 2.5.1
180 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
181 16 Joël Cuissinat
</pre>
182 1 Daniel Dehennin
183 35 Joël Cuissinat
h3. EOLE 2.5.2
184 16 Joël Cuissinat
185 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
186 1 Daniel Dehennin
187 1 Daniel Dehennin
<pre>
188 35 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.2/master
189 35 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.2/master)$ git package 2.5.2
190 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
191 35 Joël Cuissinat
</pre>
192 35 Joël Cuissinat
193 35 Joël Cuissinat
|La branche de packaging *dist/eole/2.5/master* ne doit plus être utilisée.|
194 35 Joël Cuissinat
195 36 Joël Cuissinat
h2. EOLE 2.6
196 36 Joël Cuissinat
197 41 Joël Cuissinat
h3. EOLE 2.6.0
198 41 Joël Cuissinat
199 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
200 1 Daniel Dehennin
201 40 Joël Cuissinat
<pre>
202 43 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.0/master
203 40 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.0/master)$ git package 2.6.0
204 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
205 40 Joël Cuissinat
</pre>
206 1 Daniel Dehennin
207 50 Joël Cuissinat
h3. EOLE 2.6.1
208 40 Joël Cuissinat
209 51 Joël Cuissinat
Les branche *2.6.1/master* et *dist/eole/2.6.1/master* sont utilisées pour la 2.6.1
210 1 Daniel Dehennin
211 40 Joël Cuissinat
<pre>
212 51 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.1/master
213 51 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.1/master)$ git package 2.6.1
214 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
215 1 Daniel Dehennin
</pre>
216 1 Daniel Dehennin
217 52 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.6.1-proposed-updates/arch/all
218 52 Joël Cuissinat
219 55 Joël Cuissinat
h3. EOLE 2.6.2
220 1 Daniel Dehennin
221 55 Joël Cuissinat
Les branche *2.6.2/master* et *dist/eole/2.6.2/master* sont utilisées pour la 2.6.2
222 55 Joël Cuissinat
223 51 Joël Cuissinat
<pre>
224 55 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.2/master
225 55 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.2/master)$ git package 2.6.2
226 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
227 1 Daniel Dehennin
</pre>
228 1 Daniel Dehennin
229 55 Joël Cuissinat
230 55 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.6.2-proposed-updates/arch/all
231 55 Joël Cuissinat
232 57 Joël Cuissinat
| ATTENTION : *Pas de version EOLE 2.6.3* prévue à ce jour|
233 55 Joël Cuissinat
234 55 Joël Cuissinat
h2. EOLE 2.7
235 55 Joël Cuissinat
236 55 Joël Cuissinat
h3. EOLE 2.7.0
237 55 Joël Cuissinat
238 59 Joël Cuissinat
Les branche *2.7.0/master* et *dist/eole/2.7.0/master* sont utilisées pour la 2.7.0
239 59 Joël Cuissinat
240 1 Daniel Dehennin
<pre>
241 59 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.0/master
242 59 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.0/master)$ git package 2.7.0
243 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
244 55 Joël Cuissinat
</pre>
245 1 Daniel Dehennin
246 59 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.0-proposed-updates/arch/all
247 1 Daniel Dehennin
248 59 Joël Cuissinat
h3. EOLE 2.7.1
249 1 Daniel Dehennin
250 61 Joël Cuissinat
Les branche *2.7.1/master* et *dist/eole/2.7.1/master* sont utilisées pour la 2.7.1
251 61 Joël Cuissinat
252 1 Daniel Dehennin
<pre>
253 61 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.1/master
254 61 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.1/master)$ git package 2.7.1
255 61 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.1/master)$ git package -b -d eole-2.7.1/proposed-updates 2.7.1
256 61 Joël Cuissinat
</pre>
257 61 Joël Cuissinat
258 61 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.1-proposed-updates/arch/all
259 61 Joël Cuissinat
260 61 Joël Cuissinat
h3. EOLE 2.7.2 (unstable)
261 61 Joël Cuissinat
262 61 Joël Cuissinat
Depuis la publication de la version EOLE 2.7.1, les nouvelles fonctionnalités doivent être compilés en version unstable :
263 61 Joël Cuissinat
<pre>
264 61 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package 2.7.2
265 61 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.7/unstable 2.7.2/master
266 59 Joël Cuissinat
</pre>
267 59 Joël Cuissinat
268 59 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7-unstable/arch/all
269 20 Joël Cuissinat
270 15 Joël Cuissinat
h2. ENVOLE 4
271 21 Joël Cuissinat
272 15 Joël Cuissinat
Les dépôts envole4 sont utilisés pour les versions *EOLE 2.4.2* et *EOLE 2.5.1*
273 15 Joël Cuissinat
274 15 Joël Cuissinat
h3. Paquets de dév
275 15 Joël Cuissinat
276 15 Joël Cuissinat
Distribution : envole-4-unstable
277 15 Joël Cuissinat
278 1 Daniel Dehennin
h3. Paquets candidats
279 20 Joël Cuissinat
280 20 Joël Cuissinat
Distribution : envole-4-testing
281 20 Joël Cuissinat
282 20 Joël Cuissinat
h2. ENVOLE 5
283 22 Joël Cuissinat
284 20 Joël Cuissinat
Les dépôts envole5 sont utilisés à partir de la version *EOLE 2.5.2*.
285 20 Joël Cuissinat
286 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).
287 20 Joël Cuissinat
288 20 Joël Cuissinat
A terme les logiciels seront tous adaptés pour utiliser project:eole-db.
289 20 Joël Cuissinat
290 20 Joël Cuissinat
h3. Paquets de dév
291 20 Joël Cuissinat
292 20 Joël Cuissinat
Distribution : envole-5-unstable
293 20 Joël Cuissinat
294 20 Joël Cuissinat
h3. Paquets candidats
295 20 Joël Cuissinat
296 1 Daniel Dehennin
Distribution : envole-5-testing