Version 2 — Mars 2016 — JLuc
[EDIT] : ancienne partie de la zone facile
- le trunk c’est le développement le plus avancé. En pratique c’est quasiment toujours la version pour SPIP3.
- les branches sont les autres versions : versions antérieures mais toujours maintenues, avec des mises à jours, corrections de bugs, et en pratique des nouvelles fonctionnalités. En pratique la plupart du temps ce sont les version toujours maintenues et développées pour spip2.
- les tags, c’est une copie instantannée d’une version. C’est destiné à ne plus jamais bouger. On ne commite jamais sur une version « tag »
Voir pour l’utilisation du processus : l’explication d’usages des plugins
cedric préconise :
svn mv corbeille corbeille_trunk
svn commit
mkdir corbeille
svn add corbeille
svn mv corbeille_trunk corbeille/trunk
svn commit
Rastapopoulos précise :
// Sauver le dossier actuel en gardant l'historique
svn move monplugin monplugin_tmp
// Créer la nouvelle structure de dossier et la commiter
mkdir monplugin
mkdir monplugin/branches
svn add monplugin
svn commit monplugin
// Si on veut tout péter : sauver l'état actuel dans une branche du nom de la version
svn cp monplugin_tmp monplugin/branches/1.5.x
// Déplacer vraiment la sauvegarde dans le trunk cad la branche de dev
svn move monplugin_tmp monplugin/trunk
svn commit monplugin
b_b rédige un pense bête ainsi : http://www.weblog.eliaz.fr/article113.html
Joseph, qui se sert de TortoiseSVN indique avec l’appui de Cerdic :
- renommer le répertoire monplugin en monplugin_trunk
- commiter (pour pouvoir plus loin recréer un répertoire du même nom)
- créer le répertoire monplugin
- renommer le répertoire monplugin_trunk en monplugin/trunk
Marcimat explique en détail comment pour sa part, pour partir d’un plugin existant X, il a fait :
svn mv X X_tmp
svn commit -m "prépa trunk/branches" X X_tmp
svn mkdir X
svn mkdir X/branches
svn cp X_tmp X/trunk
svn mv X_tmp X/branches/v1
svn commit -m "trunk/branches" X X_tmp
En résumé, sur chaque sous-répertoire de la zone (consultez : ces sous-répertoires de http://zone.spip.org/trac/spip-zone/browser/ )
Le schema normatif à utiliser est donc le suivant :
spip-zone/_plugins_/ monplugin / {{}}
spip-zone/_plugins_/ monplugin / branches : pour des versions « stables » à ne plus modifier
spip-zone/_plugins_/ monplugin / branches/version_0 :
spip-zone/_plugins_/ monplugin / branches/version_2 :
spip-zone/_plugins_/ monplugin / branches/version1 :
spip-zone/_plugins_/ monplugin / tags
spip-zone/_plugins_/ monplugin / trunk : normalement la version principale
choisir pour /selon regles definies dans REGLES_COMMIT/pour la version « utile » [1]
spip-zone/_plugins_/ monplugin / {{}}
On ramène au fonctionnement TortoiseSVN (ou RabbitSVN pour Linux) :
- soit par l’explorateur intégré
- soit par les commandes détaillées
* se créer un « point d’accroche en local » par un import
y placer sa structure (celle correspondant en dessous de ..../trunk/ ??)
toujours penser à éliminer les scories (.bak et autres) avant de transférer
toujours penser à commenter le commit (mettre un message..)