Sortie nouvelle branche » Historique » Version 10
Stéphane Boireau, 14/06/2014 17:25
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 | 10 | Stéphane Boireau | <pre> |
6 | chemin_arbo_web=/home/www/html/steph |
||
7 | |||
8 | old_version=1.6.4 |
||
9 | version=1.6.5 |
||
10 | devel_version=1.6.6 |
||
11 | oldv=164 |
||
12 | newv=165 |
||
13 | |||
14 | git checkout release-${old_version} |
||
15 | mkdir $chemin_arbo_web/gepi${oldv}_to_${newv} |
||
16 | cp -r ./* $chemin_arbo_web/gepi${oldv}_to_${newv}/ |
||
17 | chown -R :www-data $chemin_arbo_web/gepi${oldv}_to_${newv} |
||
18 | chmod -R 770 $chemin_arbo_web/gepi${oldv}_to_${newv} |
||
19 | |||
20 | git checkout master |
||
21 | git pull |
||
22 | |||
23 | Mise en réserve des fichiers (ils sont aussi dans mon arbo web master, mais bon): |
||
24 | |||
25 | tmp=$HOME/tmp/gepi_$(date +%Y%m%d%H%M%S) |
||
26 | mkdir - p $tmp $tmp/lib $tmp/sql $tmp/utilitaires |
||
27 | for i in $(echo "changelog.txt |
||
28 | MAJ.TXT |
||
29 | INSTALL.txt |
||
30 | README.txt |
||
31 | lib/global.inc.php |
||
32 | sql/data_gepi.sql |
||
33 | utilitaires/maj.php |
||
34 | utilitaires/maj.sh") |
||
35 | do |
||
36 | cp -v $i $tmp/$i |
||
37 | done |
||
38 | |||
39 | git checkout -b release-${version} |
||
40 | |||
41 | Modif des fichiers ci-dessus dans la nouvelle arborescence ${version} pour changer la version et supprimer les références à une version de DEVEL. |
||
42 | sed -i "s|^Gepi-master (Version de développement)|Gepi-${version} ($(date +%d/%m/%Y))|" changelog.txt |
||
43 | sed -i "/Version de développement: NE PAS INSTALLER EN PRODUCTION \!/d" MAJ.TXT |
||
44 | sed -i "s|^GEPI-master|Gepi-${version}|" MAJ.TXT |
||
45 | sed -i "s|^GEPI-master (version de développement)|GEPI-${version} ($(date +%d/%m/%Y))|" README.txt |
||
46 | sed -i "/Version de développement: NE PAS INSTALLER EN PRODUCTION \!/d" INSTALL.txt |
||
47 | sed -i "s|^La branche stable actuelle est la ${old_version}|La branche stable actuelle est la ${version}|" INSTALL.txt |
||
48 | sed -ri 's|^(\$gepiVersion =)(.*)|\1 "'$version'";|' lib/global.inc.php |
||
49 | sed -i "s|INSERT INTO setting VALUES ('version', 'master');|INSERT INTO setting VALUES ('version', '$version');|" sql/data_gepi.sql |
||
50 | sed -i "s|updates/${oldv}_to_dev.inc.php|updates/${oldv}_to_${newv}.inc.php|" utilitaires/maj.sh |
||
51 | sed -i "s|quelle_maj(\"master\")|quelle_maj(\"$version\")|" utilitaires/maj.php |
||
52 | sed -i "s|updates/${oldv}_to_dev.inc.php|updates/${oldv}_to_${newv}.inc.php|" utilitaires/maj.php |
||
53 | |||
54 | git mv utilitaires/updates/${oldv}_to_dev.inc.php utilitaires/updates/${oldv}_to_${newv}.inc.php |
||
55 | |||
56 | Tester sur une nouvelle install et sur une migration. |
||
57 | |||
58 | git commit -a -m "Correction des références à master dans la nouvelle branche ${version}" |
||
59 | |||
60 | git checkout master |
||
61 | git merge release-${version} |
||
62 | |||
63 | Correction inverse pour ce qui concerne les références à la version de DEVEL et au numéro de version. |
||
64 | sed -ri "s|^(Gepi-${version} .*)|Gepi-master (Version de développement)\n===========================\n\n\1|" changelog.txt |
||
65 | 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 |
||
66 | sed -i "s|^Gepi-${version}|GEPI-master|" MAJ.TXT |
||
67 | sed -i "s|^GEPI-${version} .*|GEPI-master (version de développement)|" README.txt |
||
68 | sed -i "s|^Gepi-${version} |GEPI-master (version de développement)|" INSTALL.txt |
||
69 | 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 |
||
70 | sed -ri 's|^(\$gepiVersion =)(.*)|\1 "master";|' lib/global.inc.php |
||
71 | sed -i "s|INSERT INTO setting VALUES ('version', '$version');|INSERT INTO setting VALUES ('version', 'master');|" sql/data_gepi.sql |
||
72 | sed -i "s|'${old_version}','defaut'|'${old_version}','${version}','defaut'|" utilitaires/maj.sh |
||
73 | 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 |
||
74 | |||
75 | Ajout d'un section dans maj.php (il faut le faire à la main...) |
||
76 | Ebauche de truc à tester: |
||
77 | 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 |
||
78 | |||
79 | |||
80 | Création d'un fichier utilitaires/updates/${newv}_to_dev.inc.php |
||
81 | grep -B 1000 "^// Fin SECTION EXEMPLE$" utilitaires/updates/${oldv}_to_${newv}.inc.php > utilitaires/updates/${newv}_to_dev.inc.php |
||
82 | sed -i "s|${version}|${devel_version}|" utilitaires/updates/${newv}_to_dev.inc.php |
||
83 | sed -i "s|${old_version}|${version}|" utilitaires/updates/${newv}_to_dev.inc.php |
||
84 | echo -e "*/\n\n\n?>" >> utilitaires/updates/${newv}_to_dev.inc.php |
||
85 | git add utilitaires/updates/${newv}_to_dev.inc.php |
||
86 | |||
87 | git commit -m "Rétablissement des références à la version devel et ajout de ${newv}_to_dev.inc.php" ./ |
||
88 | |||
89 | git push origin |
||
90 | </pre> |
||
91 | |||
92 | |||
93 | h2. Obsolète: Sortie d'une nouvelle branche avec SVN |
||
94 | |||
95 | 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. |
96 | La 1.6.2 va devenir la nouvelle stable. |
||
97 | |||
98 | 1 | Stéphane Boireau | Pour effectuer la sortie, concrètement, il faut: |
99 | |||
100 | 7 | Stéphane Boireau | - compléter le changelog.txt |
101 | 8 | Stéphane Boireau | <pre> |
102 | <span style='color:red'> Faire un |
||
103 | 2 | Stéphane Boireau | |
104 | 1 | Stéphane Boireau | > svn log -r REVISION_DU_changelog_branche_precedente:REVISION_DE_LA_DERNIERE_MODIF https://svn.sylogix.org/gepiphp/trunk/ |
105 | |||
106 | pour consulter si nécessaire la liste des modifications effectuées. |
||
107 | 7 | Stéphane Boireau | Ça c'était pour SVN... |
108 | 1 | Stéphane Boireau | ... quelle serait la commande pour lister les diff? |
109 | 8 | Stéphane Boireau | </span> |
110 | </pre> |
||
111 | 1 | Stéphane Boireau | |
112 | 7 | Stéphane Boireau | - Créer la nouvelle branche d'après la branche de développement (master) |
113 | 1 | Stéphane Boireau | |
114 | 7 | Stéphane Boireau | > git checkout master |
115 | > git checkout -b release-1.6.2 |
||
116 | > git push git@github.com:tbelliard/gepi.git release-1.6.2 |
||
117 | 2 | Stéphane Boireau | |
118 | 7 | Stéphane Boireau | - Renommer dans le changelog.txt Gepi-trunk en Gepi-1.6.2 |
119 | 2 | Stéphane Boireau | |
120 | 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 |
121 | 2 | Stéphane Boireau | |
122 | 9 | Stéphane Boireau | - vérifier que le utilitaires/maj.sh et le utilitaires/maj.php tiennent bien compte de la nouvelle branche. |
123 | 2 | Stéphane Boireau | |
124 | 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. |
125 | 2 | Stéphane Boireau | |
126 | 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 |
127 | 5 | Stéphane Boireau | |
128 | 7 | Stéphane Boireau | h2. Branche master |
129 | |||
130 | - créer une nouvelle section Gepi-trunk au début du fichier changelog.txt de la branche master |
||
131 | 1 | Stéphane Boireau | |
132 | - dans les INSTALL.txt, MAJ.TXT et README.txt, la référence à la version de devel, doit être toujours présente. |
||
133 | 8 | Stéphane Boireau | <pre> |
134 | 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> |
135 | 8 | Stéphane Boireau | </pre> |
136 | 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 |
137 | 1 | Stéphane Boireau | |
138 | - laisser le temps à Thomas de mettre à jour le script de génération des archives zip sur gepi.mutualibre.org |
||
139 | |||
140 | - envoyer un texte d'annonce pour mettre sur gepi-users |