Projet

Général

Profil

GitMonteeVersion » Historique » Version 9

Igor GODI, 20/03/2014 10:38

1 2 Igor GODI
h1. Utiliser GIT pour réaliser une montée de version
2 2 Igor GODI
3 1 Igor GODI
Exemple réalisé lors de la montée de version de cdt de 4937 à 4944.
4 2 Igor GODI
5 4 Igor GODI
h2. Placer dans le dépôt les sources de la nouvelle version
6 2 Igor GODI
7 2 Igor GODI
Aller sur la branche upstream
8 2 Igor GODI
<pre>
9 2 Igor GODI
$ git checkout upstream
10 2 Igor GODI
</pre>
11 2 Igor GODI
12 2 Igor GODI
Créer le dossier src/cdt-4944
13 2 Igor GODI
Y déposer les sources téléchargées
14 2 Igor GODI
15 2 Igor GODI
<pre>
16 2 Igor GODI
$ git add .
17 2 Igor GODI
$ git commit -a
18 2 Igor GODI
</pre>
19 2 Igor GODI
20 2 Igor GODI
Merger dans patch :
21 2 Igor GODI
<pre>
22 2 Igor GODI
$ git checkout patch 
23 2 Igor GODI
$ git merge upstream
24 2 Igor GODI
</pre>
25 2 Igor GODI
26 4 Igor GODI
h2. Relever les références des commits intéressant sur la branche patch
27 2 Igor GODI
28 7 Igor GODI
*Note : on travaille dans la branche patch du dépot*
29 2 Igor GODI
Lister les logs
30 2 Igor GODI
<pre>
31 2 Igor GODI
$ git log --oneline
32 2 Igor GODI
</pre>
33 3 Igor GODI
34 3 Igor GODI
Résultat (un peu raccourci) :
35 3 Igor GODI
<pre>
36 3 Igor GODI
ea60edf Merge branch 'upstream' into patch
37 3 Igor GODI
d43fe43 Sources téléchargées de la 4944
38 3 Igor GODI
216e426 Ajoute sondes pour l'espace consultation prof et élève
39 3 Igor GODI
84c9536 Ajout de la sonde piwik
40 3 Igor GODI
dd6fbe9 Suppression de la pub pour l'appli mobile (fixes #6948)
41 3 Igor GODI
173d0a4 adaptation de la version 4.9.3.7 dont correction pour retrouver l'éditeur xinha (fixes #5672)
42 3 Igor GODI
b096469 suppression de la partie EOLE
43 3 Igor GODI
a75f0f5 pb sur permission fluxEnvole.php si en mode conteneur
44 3 Igor GODI
87b1d5f Supression du css dans la reponse
45 3 Igor GODI
c114261 Correction sur le fluxEnvole.php pour le badge
46 3 Igor GODI
869b655 Changement des droits/owners de fluxEnvole.php en postservice
47 3 Igor GODI
58aa7ca Ajout de fluxEnvole (badge CDT) dans tmpl
48 3 Igor GODI
5074af3 montée de version 4937
49 3 Igor GODI
63662a8 patch d'initialisation
50 3 Igor GODI
7708314 netoyage de patch
51 3 Igor GODI
c3cf447 prise en compte de la version 4.9.3.7 par le script d'installation (ref #5371)
52 3 Igor GODI
b40ac89 ajout des sources de la version 4.9.3.7 (ref #5371)
53 3 Igor GODI
c9139a8 option apache pour prise en compte htaccess
54 3 Igor GODI
aca734a nouveau patch
55 3 Igor GODI
................
56 3 Igor GODI
</pre>
57 3 Igor GODI
58 1 Igor GODI
Dans le journal on relève 3 points :
59 4 Igor GODI
# Les sources téléchargées de la version précédente (4937) : *b40ac89* ajout des sources de la version 4.9.3.7 (ref #5371)
60 4 Igor GODI
# Les sources téléchargées de la version à mettre à jour (4944) : *d43fe43* Sources téléchargées de la 4944
61 4 Igor GODI
# Les sources patchées envole de la version précédente (4937 adapatée à envole) : *216e426* Ajoute sondes pour l'espace consultation prof et élève
62 1 Igor GODI
63 4 Igor GODI
h2. Recherche du travail à réaliser pour monter de version :
64 4 Igor GODI
65 7 Igor GODI
*Note : on travaille dans la branche patch du dépot*
66 5 Igor GODI
Ce travail permet de construire un fichier ods (ou xls) qui nous donnera le travail a effectuer sur les fichiers (voir fichier téléchargeable en bas de cette page).
67 1 Igor GODI
68 5 Igor GODI
1: On liste les fichiers qui ont été modifiés pour Envole dans la version précedente
69 5 Igor GODI
<pre>
70 8 Igor GODI
$ git diff b40ac89 216e426 --name-only > liste-patch-envole.txt
71 5 Igor GODI
</pre>
72 5 Igor GODI
73 5 Igor GODI
2: On liste les fichiers qui ont été modifiés entre les 2 versions originales (UPSTREAM)
74 5 Igor GODI
<pre>
75 8 Igor GODI
$ git diff b40ac89:src/cdt-4937/ d43fe43:src/cdt-4944/ --name-only > liste-modif-upstream.txt
76 5 Igor GODI
</pre>
77 5 Igor GODI
78 5 Igor GODI
3: Mise en place de la feuille ods (xls)
79 5 Igor GODI
* Créer un nouveau document de type feuille de calcul
80 5 Igor GODI
* Recopier dans la colonne A le contenu du fichier liste-patch-envole.txt
81 5 Igor GODI
* Recopier dans la colonne B le contenu du fichier liste-modif-upstream.txt
82 1 Igor GODI
* A l'aide de couper coller des élèments de la colonne A, mettre en concordance le nom des fichiers.
83 9 Igor GODI
* Un fois ce travail réalisé, on observe 3 cas de figure :
84 6 Igor GODI
** *Fichiers uniquements présents en colonne B* : sont mis à jour dans la version originale mais non modifiés pour Envole. Dans ce cas rien n'est à faire.
85 6 Igor GODI
** *Fichiers uniquements présents dans la colonne A* : il s'agit des fichiers 
86 1 Igor GODI
*** modifiés pour Envole mais qui n'ont pas subit de modification dans la version originale
87 1 Igor GODI
*** ou ajoutés pour les besoins d'Envole et qui n'existent pas dans la version originale.
88 6 Igor GODI
Dans ce cas une simple copie de ces fichiers depuis l'ancienne version patchée dans src/cdt-4937 vers le dossier src/cdt-4944
89 6 Igor GODI
** *Fichiers présents dans les 2 colonnes* : dans ce cas, on doit patcher manuellement chaque fichier, il existe 2 méthodes :
90 8 Igor GODI
*** _La plus courante_ : on regarde ce qui a été modifié pour Envole de l'ancienne version (git diff b40ac89 216e426 src/cdt-4937/chemin/fichier)  et on modifie le fichier dans src/cdt-4944
91 8 Igor GODI
*** _La moins courante_ mais utile si le patch Envole apporte beaucoup de modification par rapport à la modification de version originale : on recopie l'ancienne version du fichier patché dans src/cdt-4937 vers le dossier src/cdt-4944, on regarde ce qui a été modifié dans les versions originales (git diff b40ac89:src/cdt-4937/dossier/fichier d43fe43:src/cdt-4944/dossier/fichier) et on modifie le fichier dans src/cdt-499
92 4 Igor GODI
93 4 Igor GODI
h2. Traitement de la base de données
94 4 Igor GODI
95 4 Igor GODI
A faire comme d'habitude :
96 4 Igor GODI
* soit il existe un script dans le code de l'appli,
97 4 Igor GODI
* on génère un patch sql
98 4 Igor GODI
* .....