GitHotfix » Historique » Version 7
Version 6 (Joël Cuissinat, 17/04/2015 10:06) → Version 7/85 (Joël Cuissinat, 17/04/2015 10:07)
{{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>
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/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 :
<pre>
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
moi@work:~/src/$PAQUET (2.4.1/master)$ git package -b -d eole-2.4.1/proposed-updates 2.4.1
</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>
h2. Versions en cours de développement
h3. EOLE 2.5
Actuellement (*avril 2015*), la branche master est utilisée pour la 2.5.
Pour compiler en 2.5, les commandes sont les suivantes :
<pre>
moi@work:~/src/$PAQUET (master)$ git package 2.5
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.5/unstable 2.5
</pre>
h3. EOLE 2.4.2
Plusieurs projets nécessitent des modifications spécifiques à la version 2.4.2.
Dans ce cas, ils possèdent les branches suivantes _(demander leur création si nécessaire)_ :
* 2.4.2/master
* dist/eole/2.4.2/master
Pour compiler en 2.4.2, les commandes sont les suivantes :
<pre>
moi@work:~/src/$PAQUET (master)$ git package 2.4.2
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.4/unstable 2.4.2
</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>
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/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 :
<pre>
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
moi@work:~/src/$PAQUET (2.4.1/master)$ git package -b -d eole-2.4.1/proposed-updates 2.4.1
</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>
h2. Versions en cours de développement
h3. EOLE 2.5
Actuellement (*avril 2015*), la branche master est utilisée pour la 2.5.
Pour compiler en 2.5, les commandes sont les suivantes :
<pre>
moi@work:~/src/$PAQUET (master)$ git package 2.5
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.5/unstable 2.5
</pre>
h3. EOLE 2.4.2
Plusieurs projets nécessitent des modifications spécifiques à la version 2.4.2.
Dans ce cas, ils possèdent les branches suivantes _(demander leur création si nécessaire)_ :
* 2.4.2/master
* dist/eole/2.4.2/master
Pour compiler en 2.4.2, les commandes sont les suivantes :
<pre>
moi@work:~/src/$PAQUET (master)$ git package 2.4.2
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.4/unstable 2.4.2
</pre>