Projet

Général

Profil

GitHotfix » Historique » Version 9

Version 8 (Joël Cuissinat, 01/09/2015 15:13) → Version 9/85 (Joël Cuissinat, 01/09/2015 15:47)

{{toc}}

h1. Préparer un correctif pour EOLE 2.4 ou EOLE 2.5

*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 (*septembre (*avril 2015*), la branche master est utilisée pour la 2.5.1 2.5.
Pour compiler en 2.5, les commandes sont les suivantes :
<pre>
moi@work:~/src/$PAQUET (master)$ git package 2.5/ 2.5
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.5/unstable 2.5/ 2.5
</pre>

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*

h3. EOLE 2.4

2.4.2

Plusieurs projets nécessitent des modifications spécifiques à la version 2.4.2 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>