[SPIP Zone] Versionnement d'un plugin dans le SVN Spip-zone - bug-tracker

De: Daniel FAIVRE <webmaster@geomaticien.com>
A: spip-zone@rezo.net
Date: Sat, 12 Jul 2008 22:03:05 +0200
Sujet: [SPIP Zone] Versionnement d'un plugin dans le SVN Spip-zone -
bug-tracker

Quelles règles de versionnement adopter sur le SVN ? (pour un plugin)

Faut-il "jouer" entre _dev_ , _test_, et _stable_ ? Ou utiliser des tags ou
des branches dans le SVN ?

Et pour le suivi des bugs ? Comment utiliser le "tracker" de Spip-zone pour un
plugin ?

Quelles sont les bonnes pratiques recommandées ?

Qu'appellez vous « règles de versionnement » ?
Si c'est la version du plugin, l'élément xml « version » dans
plugin.xml est fait pour, cf. http://doc.spip.org/plugin-xml .

Dans la zone, le placement des codes sources des plugin spip dans
http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_dev_/
http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_test_/
http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_stable_/
n'est pas obligatoire, parce que :
- peu de développeurs savent déplacer du code avec svn
- déplacer le code casse tous les automatismes de
récupération du code avec svn et du suivi atom
- peu de développeurs déplacent le code et modifient ensuite leurs
les automatismes de récupération du code avec svn et du suivi atom
- personne en rale après ceux qui ne le font pas
- le classement avec plugin.xml est peut être bien mieux

Faire des branches svn selon la version SPIP 1.9.2 ou SPIP 2.0 du
plugin est faisable et recommandé si vous faites des versions
différentes (au niveau du code sorce) du plugin, c'est ce que font
plusieurs plugins, par exemple
http://trac.rezo.net/trac/spip-zone/browser/_squelettes_/soyezcreateurs_net/
a des branches 1.9.1, 1.9.2, 1.9.3.

Pour les bug, le trac http://trac.rezo.net/trac/spip-zone/report
est ouvert et vous pouvez y ajouter vos tickets. Sachez tous de même
que peu de personnes semblent les lires, donc je vous conseille
de doubler vos messsages dans spip-zone@rezo.net .

Autre chose ppour le versionnement des plugin :
quand les dépendances des plugins seront stabilisées
(voir http://doc.spip.org/plugin-xml ), les auteurs pourront faire,
si une fonction d'une dépendance (SPIP ou un autre plugin) d'un
plugin change,
scn nn0001 necessite id='identifiant version='[1.0.1;]'
remplacé par svn nn010 necessite id='identifiant version='[1.0.1;1.1.5)'
où 1.1.5 est la version de la dépendance qui est modifiée, et
svn nn011 necessite id='identifiant version='[1.1.5;]'

Nicolas suggère de versionner les plugins dans le SVN avec des branches selon
les versions de SPIP:
- Est-que ça ne présente pas un inconvénient majeur pour les paquets de tous
les plugins générés automatiquement ? (en y mettant toutes les versions d'un
plugin ???).
- si une version d'un plugin "couvre" plusieurs versions de Spip, ne vaut-il
pas mieux versionner le plugin lui-même plutot que de reprendre les numéros
de versions de SPIP ?

Pour mieux préciser ma question: quelles bonnes pratiques adopter pour mettre
dans le SVN plusieurs versions successives d'un plugin, tout en assurant
l'utilisation la plus facile possible des paquets générés automatiquement ?

N'est-il pas gênant que certains plugins stockent plusieurs versions dans la
branche _stable_ , ce qui gonfle inutilement les paquets générés ?

Bug-tracker:
- je connaissais l'adresse: le problème est que je n'y ai pas accès, alors que
je souhaiterais utiliser un système de bug-tracker pour mes développements,
ET indiquer aux utilisateurs ou reporter les bugs. Faut-il un code d'accès
spécifique pour la connexion ? (pourquoi ce code est-il différent de celui
d'accès en écriture au SVN ?).

Daniel

Le Friday 18 July 2008 18:45:45 Nicolas Krebs, vous avez écrit :

>De: Daniel FAIVRE <webmaster@geomaticien.com>
>A: spip-zone@rezo.net
>Date: Sat, 12 Jul 2008 22:03:05 +0200
>Sujet: [SPIP Zone] Versionnement d'un plugin dans le SVN Spip-zone -
> bug-tracker
>
>Quelles règles de versionnement adopter sur le SVN ? (pour un plugin)
>
>Faut-il "jouer" entre _dev_ , _test_, et _stable_ ? Ou utiliser des tags
> ou des branches dans le SVN ?
>
>Et pour le suivi des bugs ? Comment utiliser le "tracker" de Spip-zone
> pour un plugin ?
>
>Quelles sont les bonnes pratiques recommandées ?

Qu'appellez vous « règles de versionnement » ?
Si c'est la version du plugin, l'élément xml « version » dans
plugin.xml est fait pour, cf. http://doc.spip.org/plugin-xml .

Dans la zone, le placement des codes sources des plugin spip dans
http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_dev_/
http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_test_/
http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_stable_/
n'est pas obligatoire, parce que :
- peu de développeurs savent déplacer du code avec svn
- déplacer le code casse tous les automatismes de
récupération du code avec svn et du suivi atom
- peu de développeurs déplacent le code et modifient ensuite leurs
les automatismes de récupération du code avec svn et du suivi atom
- personne en rale après ceux qui ne le font pas
- le classement avec plugin.xml est peut être bien mieux

Faire des branches svn selon la version SPIP 1.9.2 ou SPIP 2.0 du
plugin est faisable et recommandé si vous faites des versions
différentes (au niveau du code sorce) du plugin, c'est ce que font
plusieurs plugins, par exemple
http://trac.rezo.net/trac/spip-zone/browser/_squelettes_/soyezcreateurs_net
/ a des branches 1.9.1, 1.9.2, 1.9.3.

Pour les bug, le trac http://trac.rezo.net/trac/spip-zone/report
est ouvert et vous pouvez y ajouter vos tickets. Sachez tous de même
que peu de personnes semblent les lires, donc je vous conseille
de doubler vos messsages dans spip-zone@rezo.net .

Autre chose ppour le versionnement des plugin :
quand les dépendances des plugins seront stabilisées
(voir http://doc.spip.org/plugin-xml ), les auteurs pourront faire,
si une fonction d'une dépendance (SPIP ou un autre plugin) d'un
plugin change,
scn nn0001 necessite id='identifiant version='[1.0.1;]'
remplacé par svn nn010 necessite id='identifiant version='[1.0.1;1.1.5)'
où 1.1.5 est la version de la dépendance qui est modifiée, et
svn nn011 necessite id='identifiant version='[1.1.5;]'

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Bonjour

Contrairement à Nicolas, je ne crois pas que la gestion des tags soit
recommandée.

Tu verras aussi certains plugins comme CFG, crayons, .... qui feront
tout pour avoir la compatibilité ascendante.
La mise en place de branches doit etre fait uniquement que lorsque
nous n'avons pas le choix comme un gros changement structurel dans le
plugin ou autre.

Pour la question concernant les zip, on peux générer autant de zip que
voulu. Tout ce passe dans le fichier archivelistes. Grosso modo chaque
ligne correspond à un zip à générer branché sur :
- un répertoire svn
- un nom de zip
- un version SVN (optionnel)

Dans ce cas rien n'empêche d'avoir un seul dépôt pour ton plugin et
figer plusieurs zip à des version SVN différentes.

Comme tu peux le constater la zone permet une très grande souplesse
dans la gestion de ton plugin. Je te suggére de
- de regarder comment les plugins existant fonctionnent
- de choisi le mode de travail qui te convient le mieux
- de rédiger un fichier règle de commit pour expliciter tes choix.

Km

Salut,

Le 21 juillet 2008 09:23, cam.lafit@azerttyu.net
<cam.lafit@azerttyu.net> a écrit :

Pour la question concernant les zip, on peux générer autant de zip que
voulu. Tout ce passe dans le fichier archivelistes. Grosso modo chaque
ligne correspond à un zip à générer branché sur :
- un répertoire svn
- un nom de zip
- un version SVN (optionnel)

Le problème de l'utilisation unique des sabots (image du plugin à un
instant T), c'est qu'il est impossible de faire d'autres évolutions
"de maintenance" sur cette version.
C'est la même chose lorsque tu télécharges Spip1.92 depuis spip.net
(http://www.spip.net/spip-dev/DISTRIB/spip.zip est un sabot),
ou quand tu le télécharges depuis
http://files.spip.org/spip/SPIP-v1-9-2.zip (c'est l'archive d'une
branche de maintenance)

perso, je préfère le second choix

Mes 2 grains de sel,

.Gilles
---

Dans ce cas rien n'empêche d'avoir un seul dépôt pour ton plugin et
figer plusieurs zip à des version SVN différentes.

Comme tu peux le constater la zone permet une très grande souplesse
dans la gestion de ton plugin. Je te suggére de
- de regarder comment les plugins existant fonctionnent
- de choisi le mode de travail qui te convient le mieux
- de rédiger un fichier règle de commit pour expliciter tes choix.

Km
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone