Skip to end of metadata
Go to start of metadata

Commit de changements


Le ou les développeurs va faire évoluer les sources. Au fur et à mesure du développement, lorsque le développeur estime avoir fait des modifications locales 'à priori' assez stables, il va 'commiter' vers le dépôt.

Depuis la racine du projet CMonCanal , clic droit, Team, Commit ; saisir un commentaire.

Si plusieurs développeurs travaillent sur le même sous-projet, penser à mettre à jour très souvent votre copie locale :

Depuis la racine du projet CMonCanal , clic droit, Team,update

première Release Candidate du sous-projet : gestion des tags


Après avoir 'finalisé' une première version du sous-projet, il va être temps d'en produire une première 'Release Candidate' : la 1.0-RC1 .

Toute version mise dans l'espace de download doit nécessairement être taguée.

Pensez à commiter le projet avant d'exécuter les actions suivantes.

Voici la procédure avec subclipse :

Depuis la racine du projet CMonCanal , clic droit, Team, Branch/Tag :

Contrôler par curiosité depuis un navigateur web, ou tortoiseSVN.

Pour information, la commande svn générée par subclipse :

copy -rHEAD https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/trunk \
https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/tags/1.0-RC1

En remarque, cete 'copie' logique n'a pas donné lieu à copie physique des différents fichiers ; ce sont des références qui ont été ajoutées dans une base de données.

Nouvelles releases mineures du sous-projet


On peut ensuite ré-itérer le processus des deux paragraphes précédents.

Il sera ensuite facile de revenir aux sources ayant donné lieu à publication dans l'espace de téléchargement du projet esup-portail.

On suppose maintenant qu'une version 1.0 'finale' a été publiée. Elle aura donné lieu bien sûr à un tag 1.0.

Préparation d'une release majeure 2.x


Une release majeure signifie de nouvelles fonctionnalités à apporter au sous-projet.

Le ou les programmeurs vont maintenant apporter les modifications nécessaires à ces fonctionalités, et à les commiter régulièrement. Ceci va toujours se faire dans le répertoire trunk.

Ca va donner lieu éventuellement à des tags 2.0.RC-x .

Bugs à corriger dans la version 1.0 : gestion des branches


On suppose qu'ici, un bug vient d'être remonté, qui concerne la version 1.0. Il faut donc pouvoir revenir à cette version, appliquer une correction, et faire évoluer la 1.0 en 1.1, sans impacter la 2.0.xx.

On va crer une branche "version 1" qui va être issue de la dernière version 1.x (ici, 1.0), et dans laquelle on va pouvoir apporter des modifications concernant les versions 1.x, sans impacter la branche principale.

Avec un client svn 'normal', la manipulation se fait en une passe :

svn copy https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/tags/1.0 \
https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/branches/1 \ -m "creation branche 1"

Avec subclipse, c'est un peu plus compliqué.

A priori, 2 méthodes : depuis la perspective java, ou depuis la perspective 'SVN Repository'.

Créer la branche 1 depuis la perspective java


Depuis la perspective java, subclipse ne sait faire de copie que depuis le 'source' courant ; on va procéder en 2 étapes : utiliser le tag 1.0 comme source courant, puis copier vers la branche 1.

(il aurait été plus simple de créer la branche 1 dès le tag 1.0, mais on peut parier que personne n'y pense à ce moment).

Retour vers la version 1.0 : switch


On va maintenant utiliser la branche tags/1.0 comme source courant, de manière temporaire.

Racine du projet CMonCanal , clic droit, Team, Switch .

Champ toUrl, choisir https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/tags/1.0

Note 1pour info, la commande svn générée par subclipse :

switch https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/tags/1.0 C:/eSup/CMonCanal -rHEAD

On remarque que la racine du projet, dans le ' Package Explorer ' eclipse, est maintenant nommée CMonCanal[tags/1.0]

Note 2La commande switch permet également de revenir facilement à une révision quelconque.

Ne rien modifier dans tags/1.0. On ne modifie jamais quoi que ce soit dans la branche tags .

Création de la branche 1


On procède comme pour la création d'un tag :

Depuis la racine du projet CMonCanal , clic droit, Team, Branch/Tag :

Pour info, la commande svn générée par subclipse :

copy -rHEAD https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/tags/1.0 \
https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/branches/1

Pour 'le fun', controler avec tortoiseSVN ou un navigateur web.

Créer la branche 1 depuis la perspective SVN Repository


  • Se positionner sur esup-CMonCanal/tags/1.0 ; Clic droit - Copy
  • Puis, se positionner sur esup-CMonCanal/branches ; Clic droit - Paste ; ajouter un commentaire
  • Enfin, se positionner sur esup-CMonCanal/branches/1 ; Clic droit ; Rename / Move ; renommer 1.0 en 1

    Pour info, la commande svn générée par subclipse lors du 'Paste' :

    copy -rHEAD https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/tags/1.0 \
    https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/branches
    

Application du patch


Depuis la perspective java.

Pour appliquer le patch, il va falloir 'switcher' vers la branche 1 :

Racine du projet CMonCanal , clic droit, Team, Switch .

Champ toUrl, choisir https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/branches/1

Vérifier que le nom du projet devient CMonCanal[braches/1]

Appliquer les modifications. Commiter.

répercussion du patch sur la branche principale


On suppose maintenant que ce patch doit également s'appliquer à la branche principale.

Voici la procédure :

  • passer trunk en version courante ( switch ) ; le nom du projet doit redevenir CMonCanaltrunk .
  • Racine du projet CMonCanal , clic droit, Team, Merge .

    From :

https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/branches/1
Chosiri la révision dans l'historique. Si je chosisi la révision 11, la révision 10 s'affiche dans From: , et 11 dans To: .

To :

Maintenir coché " Use From URL " ; Choisir révision 11.

Voir copie d'écran 

Controler : Team, 'Show pending operations' . Si OK, commiter la (les) modification(s) ; mettre un commentaire parlant :

"Merged revisions 10:11 of CMonCanal/branches/1 to /trunk"

Note 1pour info, la commande svn générée par subclipse :

merge -r10:11 https://subversion.univ-nancy2.fr:8443/esup-CMonCanal/branches/1 C:/eSup/CMonCanal

Note 2La commande

merge


applique les changements désirés dans le file système local. Il faut donc ensuite commiter pour l'appliquer dans le dépôt subversion.

  • No labels