GitMonteeVersion » Historique » Version 7
« Précédent -
Version 7/18
(diff) -
Suivant » -
Version actuelle
Igor GODI, 20/03/2014 10:35
Utiliser GIT pour réaliser une montée de version¶
Exemple réalisé lors de la montée de version de cdt de 4937 à 4944.
Placer dans le dépôt les sources de la nouvelle version¶
Aller sur la branche upstream
$ git checkout upstream
Créer le dossier src/cdt-4944
Y déposer les sources téléchargées
$ git add . $ git commit -a
Merger dans patch :
$ git checkout patch $ git merge upstream
Relever les références des commits intéressant sur la branche patch¶
Note : on travaille dans la branche patch du dépot
Lister les logs
$ git log --oneline
Résultat (un peu raccourci) :
ea60edf Merge branch 'upstream' into patch d43fe43 Sources téléchargées de la 4944 216e426 Ajoute sondes pour l'espace consultation prof et élève 84c9536 Ajout de la sonde piwik dd6fbe9 Suppression de la pub pour l'appli mobile (fixes #6948) 173d0a4 adaptation de la version 4.9.3.7 dont correction pour retrouver l'éditeur xinha (fixes #5672) b096469 suppression de la partie EOLE a75f0f5 pb sur permission fluxEnvole.php si en mode conteneur 87b1d5f Supression du css dans la reponse c114261 Correction sur le fluxEnvole.php pour le badge 869b655 Changement des droits/owners de fluxEnvole.php en postservice 58aa7ca Ajout de fluxEnvole (badge CDT) dans tmpl 5074af3 montée de version 4937 63662a8 patch d'initialisation 7708314 netoyage de patch c3cf447 prise en compte de la version 4.9.3.7 par le script d'installation (ref #5371) b40ac89 ajout des sources de la version 4.9.3.7 (ref #5371) c9139a8 option apache pour prise en compte htaccess aca734a nouveau patch ................Dans le journal on relève 3 points :
- 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)
- Les sources téléchargées de la version à mettre à jour (4944) : d43fe43 Sources téléchargées de la 4944
- 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
Recherche du travail à réaliser pour monter de version :¶
Note : on travaille dans la branche patch du dépot
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).
1: On liste les fichiers qui ont été modifiés pour Envole dans la version précedente
$ git diff *b40ac89* *216e426* --name-only > liste-patch-envole.txt
2: On liste les fichiers qui ont été modifiés entre les 2 versions originales (UPSTREAM)
$ git diff *b40ac89*:src/cdt-4937/ *d43fe43*:src/cdt-4944/ --name-only > liste-modif-upstream.txt3: Mise en place de la feuille ods (xls)
- Créer un nouveau document de type feuille de calcul
- Recopier dans la colonne A le contenu du fichier liste-patch-envole.txt
- Recopier dans la colonne B le contenu du fichier liste-modif-upstream.txt
- A l'aide de couper coller des élèments de la colonne A, mettre en concordance le nom des fichiers.
- Un fois se travail réalisé, on observe 3 cas de figure :
- 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.
- Fichiers uniquements présents dans la colonne A : il s'agit des fichiers
- modifiés pour Envole mais qui n'ont pas subit de modification dans la version originale
- ou ajoutés pour les besoins d'Envole et qui n'existent pas dans la version originale.
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
- Fichiers présents dans les 2 colonnes : dans ce cas, on doit patcher manuellement chaque fichier, il existe 2 méthodes :
- 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
- 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
Traitement de la base de données¶
A faire comme d'habitude :- soit il existe un script dans le code de l'appli,
- on génère un patch sql
- .....