Projet

Général

Profil

GitMonteeVersion » Historique » Version 9

« Précédent - Version 9/18 (diff) - Suivant » - Version actuelle
Igor GODI, 20/03/2014 10:38


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 :
  1. 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)
  2. Les sources téléchargées de la version à mettre à jour (4944) : d43fe43 Sources téléchargées de la 4944
  3. 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.txt

3: 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 ce 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
  • .....

modifs-fichiers.xls (19 ko) Igor GODI, 20/03/2014 09:23

pre-commit (1,41 ko) Igor GODI, 20/03/2014 15:36

modif-fichiers-1.9.7e-vers-2.2.2.xls - Un document plus élaboré mais utilisant la méthode pour maj GRR 1.9.7e à 2.2.2 (286 ko) Igor GODI, 28/08/2014 13:44