Sortie nouvelle branche » Historique » Version 16
Stéphane Boireau, 21/08/2016 15:16
1 | 1 | Stéphane Boireau | h1. Sortie d'une nouvelle branche GEPI |
---|---|---|---|
2 | |||
3 | 7 | Stéphane Boireau | h2. Nouvelle branche |
4 | 1 | Stéphane Boireau | |
5 | 11 | Stéphane Boireau | Supposons que la version stable précédente soit la 1.6.4, que la version qui va sortir en stable soit la 1.6.5 et qu'on suppose que la version de développement s'appellera un jour 1.6.6 |
6 | |||
7 | 10 | Stéphane Boireau | <pre> |
8 | 12 | Stéphane Boireau | |
9 | # Renseignement de quelques variables: |
||
10 | |||
11 | 10 | Stéphane Boireau | chemin_arbo_web=/home/www/html/steph |
12 | |||
13 | 12 | Stéphane Boireau | # Ancienne stable: |
14 | 16 | Stéphane Boireau | old_version=1.6.8 |
15 | 12 | Stéphane Boireau | # Nouvelle stable: |
16 | 16 | Stéphane Boireau | version=1.6.9 |
17 | 1 | Stéphane Boireau | # Nom probable de la version devel quand elle passera en stable: |
18 | 16 | Stéphane Boireau | devel_version=1.7.0 |
19 | 12 | Stéphane Boireau | # Noms courts intervenant dans des noms de fichiers: |
20 | 16 | Stéphane Boireau | oldv=168 |
21 | newv=169 |
||
22 | # Annee scolaire |
||
23 | gepiYear="2016/2017" |
||
24 | 10 | Stéphane Boireau | |
25 | 12 | Stéphane Boireau | # Mise en place d'une arborescence web toute propre de l'ancienne version Gepi pour faire les tests de migration $old_version -> $version |
26 | 10 | Stéphane Boireau | git checkout release-${old_version} |
27 | mkdir $chemin_arbo_web/gepi${oldv}_to_${newv} |
||
28 | cp -r ./* $chemin_arbo_web/gepi${oldv}_to_${newv}/ |
||
29 | chown -R :www-data $chemin_arbo_web/gepi${oldv}_to_${newv} |
||
30 | chmod -R 770 $chemin_arbo_web/gepi${oldv}_to_${newv} |
||
31 | |||
32 | 12 | Stéphane Boireau | # Passage sur master qui va devenir nouvelle stable: |
33 | 10 | Stéphane Boireau | git checkout master |
34 | git pull |
||
35 | 1 | Stéphane Boireau | |
36 | 11 | Stéphane Boireau | # Mise en réserve des fichiers (ils sont aussi dans mon arbo web master, mais bon): |
37 | 10 | Stéphane Boireau | |
38 | tmp=$HOME/tmp/gepi_$(date +%Y%m%d%H%M%S) |
||
39 | 13 | Stéphane Boireau | mkdir -p $tmp $tmp/lib $tmp/sql $tmp/utilitaires |
40 | 10 | Stéphane Boireau | for i in $(echo "changelog.txt |
41 | MAJ.TXT |
||
42 | INSTALL.txt |
||
43 | README.txt |
||
44 | lib/global.inc.php |
||
45 | sql/data_gepi.sql |
||
46 | utilitaires/maj.php |
||
47 | utilitaires/maj.sh") |
||
48 | do |
||
49 | cp -v $i $tmp/$i |
||
50 | done |
||
51 | |||
52 | 12 | Stéphane Boireau | # Création de la branche pour la nouvelle stable: |
53 | 1 | Stéphane Boireau | git checkout -b release-${version} |
54 | 14 | Stéphane Boireau | |
55 | 10 | Stéphane Boireau | # Modif des fichiers ci-dessus dans la nouvelle arborescence ${version} pour changer la version et supprimer les références à une version de DEVEL. |
56 | 15 | Stéphane Boireau | sed -i "s|^Gepi-master (Version de développement)|Gepi-${version} ($(date +%d/%m/%Y))|" changelog.txt |
57 | sed -i "/Version de développement: NE PAS INSTALLER EN PRODUCTION \!/d" MAJ.TXT |
||
58 | 1 | Stéphane Boireau | sed -i "s|^GEPI-master|Gepi-${version}|" MAJ.TXT |
59 | sed -i "s|^La branche stable actuelle est la .*|La branche stable actuelle est la ${version}|" MAJ.TXT |
||
60 | 15 | Stéphane Boireau | sed -i "s|^GEPI-master (version de développement)|GEPI-${version} ($(date +%d/%m/%Y))|" README.txt |
61 | 16 | Stéphane Boireau | sed -i "s|^GEPI-master (version de développement)|GEPI-${version} (version stable)|" INSTALL.txt |
62 | 15 | Stéphane Boireau | sed -i "/Version de développement: NE PAS INSTALLER EN PRODUCTION \!/d" INSTALL.txt |
63 | sed -i "s|^La branche stable actuelle est la ${old_version}|La branche stable actuelle est la ${version}|" INSTALL.txt |
||
64 | 10 | Stéphane Boireau | sed -ri 's|^(\$gepiVersion =)(.*)|\1 "'$version'";|' lib/global.inc.php |
65 | sed -i "s|INSERT INTO setting VALUES ('version', 'master');|INSERT INTO setting VALUES ('version', '$version');|" sql/data_gepi.sql |
||
66 | sed -i "s|updates/${oldv}_to_dev.inc.php|updates/${oldv}_to_${newv}.inc.php|" utilitaires/maj.sh |
||
67 | sed -i "s|quelle_maj(\"master\")|quelle_maj(\"$version\")|" utilitaires/maj.php |
||
68 | sed -i "s|updates/${oldv}_to_dev.inc.php|updates/${oldv}_to_${newv}.inc.php|" utilitaires/maj.php |
||
69 | 16 | Stéphane Boireau | sed -i "s|INSERT INTO setting VALUES ('gepiYear', '[0-9/]*');|INSERT INTO setting VALUES ('gepiYear', '$gepiYear');|" sql/data_gepi.sql |
70 | sed -i "s|Copyright © 2001-20[0-9]\{2\}|Copyright \© 2001-${gepiYear:5:4}|" templates/origine/login_template.html |
||
71 | 10 | Stéphane Boireau | |
72 | git mv utilitaires/updates/${oldv}_to_dev.inc.php utilitaires/updates/${oldv}_to_${newv}.inc.php |
||
73 | 1 | Stéphane Boireau | |
74 | 14 | Stéphane Boireau | sed -i "s| jour vers la version ${version}(dev)| jour vers la version ${version}|" utilitaires/updates/${oldv}_to_${newv}.inc.php |
75 | |||
76 | # A CE STADE LES OPERATIONS NE SONT PAS SCRIPTEES |
||
77 | 12 | Stéphane Boireau | # Tester cette nouvelle stable sur une nouvelle install et sur une migration. |
78 | 14 | Stéphane Boireau | # Ensuite seulement poursuivre les opérations indiquées ci-dessous. |
79 | 1 | Stéphane Boireau | |
80 | 10 | Stéphane Boireau | git commit -a -m "Correction des références à master dans la nouvelle branche ${version}" |
81 | 15 | Stéphane Boireau | |
82 | # Envoi de la nouvelle branche |
||
83 | git push origin release-${version} |
||
84 | |||
85 | 10 | Stéphane Boireau | |
86 | 11 | Stéphane Boireau | # On va s'occuper de la version de devel: |
87 | 1 | Stéphane Boireau | git checkout master |
88 | git merge release-${version} |
||
89 | 10 | Stéphane Boireau | |
90 | 11 | Stéphane Boireau | # On va remettre la version de devel en état: |
91 | |||
92 | # Correction inverse pour ce qui concerne les références à la version de DEVEL et au numéro de version. |
||
93 | 10 | Stéphane Boireau | sed -ri "s|^(Gepi-${version} .*)|Gepi-master (Version de développement)\n===========================\n\n\1|" changelog.txt |
94 | sed -i "s|^La branche stable actuelle est la|Version de développement: NE PAS INSTALLER EN PRODUCTION \!\nLa branche stable actuelle est la|" MAJ.TXT |
||
95 | sed -i "s|^Gepi-${version}|GEPI-master|" MAJ.TXT |
||
96 | sed -i "s|^GEPI-${version} .*|GEPI-master (version de développement)|" README.txt |
||
97 | sed -i "s|^Gepi-${version} |GEPI-master (version de développement)|" INSTALL.txt |
||
98 | 1 | Stéphane Boireau | sed -i "s|^La branche stable actuelle est la|Version de développement: NE PAS INSTALLER EN PRODUCTION \!\nLa branche stable actuelle est la|" INSTALL.txt |
99 | sed -ri 's|^(\$gepiVersion =)(.*)|\1 "master";|' lib/global.inc.php |
||
100 | sed -i "s|INSERT INTO setting VALUES ('version', '$version');|INSERT INTO setting VALUES ('version', 'master');|" sql/data_gepi.sql |
||
101 | 10 | Stéphane Boireau | sed -i "s|'${old_version}','defaut'|'${old_version}','${version}','defaut'|" utilitaires/maj.sh |
102 | sed -ri "s#require './updates/${oldv}_to_${newv}.inc.php';#require './updates/${oldv}_to_${newv}.inc.php';\n }\n\n if (\$force || \$start_from == '${version}') {\n require './updates/${newv}_to_dev.inc.php';#" utilitaires/maj.sh |
||
103 | |||
104 | 11 | Stéphane Boireau | # Ajout d'un section dans maj.php (il faut le faire à la main...) |
105 | # Ebauche de truc à tester: |
||
106 | 10 | Stéphane Boireau | sed -ri "s#require 'updates/${oldv}_to_${newv}.inc.php';#require 'updates/${oldv}_to_${newv}.inc.php';\n\t}\n\n\tif ((\$force_maj == 'yes') or (quelle_maj(\"master\"))) {\n require 'updates/${newv}_to_dev.inc.php';#" utilitaires/maj.php |
107 | |||
108 | 11 | Stéphane Boireau | # Création d'un fichier utilitaires/updates/${newv}_to_dev.inc.php |
109 | 10 | Stéphane Boireau | grep -B 1000 "^// Fin SECTION EXEMPLE$" utilitaires/updates/${oldv}_to_${newv}.inc.php > utilitaires/updates/${newv}_to_dev.inc.php |
110 | sed -i "s|${version}|${devel_version}|" utilitaires/updates/${newv}_to_dev.inc.php |
||
111 | sed -i "s|${old_version}|${version}|" utilitaires/updates/${newv}_to_dev.inc.php |
||
112 | echo -e "*/\n\n\n?>" >> utilitaires/updates/${newv}_to_dev.inc.php |
||
113 | git add utilitaires/updates/${newv}_to_dev.inc.php |
||
114 | |||
115 | git commit -m "Rétablissement des références à la version devel et ajout de ${newv}_to_dev.inc.php" ./ |
||
116 | |||
117 | git push origin |
||
118 | </pre> |
||
119 | |||
120 | |||
121 | h2. Obsolète: Sortie d'une nouvelle branche avec SVN |
||
122 | |||
123 | 7 | Stéphane Boireau | Supposons pour la suite que la branche stable actuelle soit la 1.6.1 et que la 1.6.2 soit sur le point de sortir. |
124 | La 1.6.2 va devenir la nouvelle stable. |
||
125 | |||
126 | 1 | Stéphane Boireau | Pour effectuer la sortie, concrètement, il faut: |
127 | |||
128 | 7 | Stéphane Boireau | - compléter le changelog.txt |
129 | 8 | Stéphane Boireau | <pre> |
130 | <span style='color:red'> Faire un |
||
131 | 2 | Stéphane Boireau | |
132 | 1 | Stéphane Boireau | > svn log -r REVISION_DU_changelog_branche_precedente:REVISION_DE_LA_DERNIERE_MODIF https://svn.sylogix.org/gepiphp/trunk/ |
133 | |||
134 | pour consulter si nécessaire la liste des modifications effectuées. |
||
135 | 7 | Stéphane Boireau | Ça c'était pour SVN... |
136 | 1 | Stéphane Boireau | ... quelle serait la commande pour lister les diff? |
137 | 8 | Stéphane Boireau | </span> |
138 | </pre> |
||
139 | 1 | Stéphane Boireau | |
140 | 7 | Stéphane Boireau | - Créer la nouvelle branche d'après la branche de développement (master) |
141 | 1 | Stéphane Boireau | |
142 | 7 | Stéphane Boireau | > git checkout master |
143 | > git checkout -b release-1.6.2 |
||
144 | > git push git@github.com:tbelliard/gepi.git release-1.6.2 |
||
145 | 2 | Stéphane Boireau | |
146 | 7 | Stéphane Boireau | - Renommer dans le changelog.txt Gepi-trunk en Gepi-1.6.2 |
147 | 2 | Stéphane Boireau | |
148 | 7 | Stéphane Boireau | - Renommer dans le utilitaires/updates/1.6.1_to_dev.php en utilitaires/updates/1.6.1_to_1.6.2.php |
149 | 2 | Stéphane Boireau | |
150 | 9 | Stéphane Boireau | - vérifier que le utilitaires/maj.sh et le utilitaires/maj.php tiennent bien compte de la nouvelle branche. |
151 | 2 | Stéphane Boireau | |
152 | 7 | Stéphane Boireau | - modifier le titre GEPI-TRUNK en GEPI-1.6.2 dans les fichiers INSTALL.txt, MAJ.TXT et README.txt et supprimer les lignes d'alerte concernant la version de devel qui n'est pas recommandée en production. |
153 | 2 | Stéphane Boireau | |
154 | 7 | Stéphane Boireau | - mettre à jour le numéro de version dans release-1.6.2/lib/global.inc.php et dans release-1.6.2/sql/data_gepi.sql |
155 | 5 | Stéphane Boireau | |
156 | 7 | Stéphane Boireau | h2. Branche master |
157 | |||
158 | - créer une nouvelle section Gepi-trunk au début du fichier changelog.txt de la branche master |
||
159 | 1 | Stéphane Boireau | |
160 | - dans les INSTALL.txt, MAJ.TXT et README.txt, la référence à la version de devel, doit être toujours présente. |
||
161 | 8 | Stéphane Boireau | <pre> |
162 | 7 | Stéphane Boireau | <span style='color:red'>Vérifier ce que donne un git merge release-1.6.2 dans la branche master... il risque de falloir y rétablir les références à la version de devel</span> |
163 | 8 | Stéphane Boireau | </pre> |
164 | 7 | Stéphane Boireau | - mettre à jour le trunk/utilitaires/maj.sh et créer un fichier trunk/utilitaires/updates/152_to_dev.inc.php pour les ajouts de tables, modifications de champs,... de la version suivante |
165 | 1 | Stéphane Boireau | |
166 | - laisser le temps à Thomas de mettre à jour le script de génération des archives zip sur gepi.mutualibre.org |
||
167 | |||
168 | - envoyer un texte d'annonce pour mettre sur gepi-users |