GitHotfix » Historique » Version 4
Version 3 (Daniel Dehennin, 03/09/2014 11:05) → Version 4/85 (Joël Cuissinat, 11/03/2015 11:01)
{{toc}}
h1. Préparer un correctif pour EOLE 2.4
*RAPPEL* : Il ne faut jamais fusionner une branche d’une version supérieure à une version inférieure, par exemple :
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge master
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.1
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/master
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.2
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/42-fix-machin-truc
</pre>
h2. Principe de base
* dist/ubuntu/precise/master: packaging des développement EOLE pour Ubuntu Précise Pangolin
* dist/eole/2.4.0/master: branche de packaging des hotfix pour 2.4.0
On pourrait pousser la distinction pour les branches de codes :
* 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 :
<pre> paquet
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
moi@work:~/src/$PAQUET (2.4.0/master)$ git package -b -d eole-2.4.0/proposed-updates 2.4.0
</pre>
* 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.
Cette branche sera intégrée à 2.4.1/master, 2.4.2/master, 2.4.3/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.
Cela pourrait être représenté de la façon suivante, les « o » sont des
commits et les « M » sont des « merge commits » :
<pre>
o-o-o-o-o-o-o-o-o-o-o-o---M <- master
\ \ \ /
\ \ o-o-o-o-M / <- 2.4.2/master
\ \ / /
\ \ o-o---+ <- 2.4.1/42-fix-machin-bidule (amene disparatre)
\ \ / \
\ o-o-o-o-M <- 2.4.1/master
\
\
o-o-o-o-o-o-o-o-o <- 2.4.0/master
</pre>
h1. Préparer un correctif pour EOLE 2.4
*RAPPEL* : Il ne faut jamais fusionner une branche d’une version supérieure à une version inférieure, par exemple :
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge master
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.1
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/master
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.2
</pre>
* *NE PAS FAIRE*
<pre>
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/42-fix-machin-truc
</pre>
h2. Principe de base
* dist/ubuntu/precise/master: packaging des développement EOLE pour Ubuntu Précise Pangolin
* dist/eole/2.4.0/master: branche de packaging des hotfix pour 2.4.0
On pourrait pousser la distinction pour les branches de codes :
* 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 :
<pre> paquet
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
moi@work:~/src/$PAQUET (2.4.0/master)$ git package -b -d eole-2.4.0/proposed-updates 2.4.0
</pre>
* 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.
Cette branche sera intégrée à 2.4.1/master, 2.4.2/master, 2.4.3/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.
Cela pourrait être représenté de la façon suivante, les « o » sont des
commits et les « M » sont des « merge commits » :
<pre>
o-o-o-o-o-o-o-o-o-o-o-o---M <- master
\ \ \ /
\ \ o-o-o-o-M / <- 2.4.2/master
\ \ / /
\ \ o-o---+ <- 2.4.1/42-fix-machin-bidule (amene disparatre)
\ \ / \
\ o-o-o-o-M <- 2.4.1/master
\
\
o-o-o-o-o-o-o-o-o <- 2.4.0/master
</pre>