Suppression des branches non maintenues
Supprimer une branche ne l’efface pas de l’historique du dépôt. Elle disparaît de l’état actuel du dépôt.
Branches à supprimer :
-
r16004+plugins/
-
spip-1.8/
-
spip-1.9/
-
spip-1.9.2/
-
spip-2-stable/
-
spip-2.0/
-
spip-2.1/
-
spip-3-stable/
-
spip-3.1-stable/
Exemple : svn rm ^/spip/branches/r16004+plugins
Déplacements des tags non couverts par l’adoption de composer dans un répertoire archives
Il faut décider des versions qui seront installables par composer, a priori, les 3 dernières releases de chaque versions maintenues,
Exemple de commandes :
svn mkdir ^/museum -m "Musée SPIP"
svn ren ^/spip/tags/spip-1.8.3b ^/museum/spip-1.8.3b -m "Musée SPIP"
svn ren ^/spip/tags/spip-1.9.1i ^/museum/spip-1.9.1i -m "Musée SPIP"
Résultat :
Renommage des branches maintenues et derniers tags associés
Composer interprète les noms des branches et des tags en tant que version d’un composant quelque soit l’outil de gestion de code source (svn ou git).
Les préfixes spip-
ne seront pas interprétés correctement. La branche spip/
ne sera pas considérée comme la branche principale.
Cette transformation facilitera aussi la migration vers des dépôts GIT qui s’appuie sur la même convention pour reconstruire ses propres branches et tags depuis un dépôt svn.
De plus, d’autres composants pourront être hébergés sur ce même dépôt parfois en procédant à une copie du code historique, pour faciliter la conservation de l’historique.
Exemple de commandes :
svn mkdir ^/classic -m "SPIP Classic"
svn ren ^/spip/spip ^/classic/trunk -m "spip->trunk"
svn ren ^/spip/branches/spip-3.2 ^/classic/branches/3.2 -m "branches/spip-3.2->branches/3.2"
svn ren ^/spip/tags/spip-3.2.1 ^/classic/tags/classic/3.2.1 -m "tags/spip-3.2.1->tags/3.2.1"
Résultat :
Ajout des fichiers composer.json
Au 30 avril 2018, les versions 3.0 et 3.1 ont pour pré-requis une version PHP inférieure à celle requise par Composer. La branche de développement (3.3.x-dev) et la branche 3.2 nécessite au minimum PHP5.4 et sont compatibles PHP7
Il y aura 4 fichiers distincts pour le trunk et les 3 branches de maintenance.
Exemple pour la branche 3.2 :
{
"name": "spip/classic",
"description": "SPIP Classic",
"type": "spip-classic",
"license": "GPL-3.0-or-later",
"authors": [{
"name": "Arnaud Martin",
"email": "arno@rezo.net"
},{
"name": "Antoine Pitrou",
"email": "antoine@pitrou.net"
},{
"name": "Philippe Rivière",
"email": "fil@rezo.net"
},{
"name": "Emmanuel Saint-James",
"email": "esj@rezo.net"
}],
"require": {
"php": "^5.4|^7"
},
"config": {
"platform": {
"php": "5.4.45"
}
}
}
Cf. Fichiers composer.json pour toutes les branches maintenues de SPIP
Il faudra ajouter le répertoire vendor/
dans les propriétés svn:ignore
On peut aussi ajouter un fichier .gitignore
pour anticiper un éventuel passage à GIT.
Cas des tags
Pour les tags courants (3.2.1, 3.1.8, 3.0.27), il pourra être décidé :
- soit d’ajouter le même fichier composer.json que celui de la branche correspondante,
- soit d’attendre le moment opportun pour sortir des releases (3.2.2, 3.1.9, 3.0.28) par copie des branches et de déplacer les tags courants dans le musée SPIP.
Passage en https pour les dépôts subversion
- Par défaut, Composer n’accepte pas les connexions réseaux non-sécurisées, où, notamment, les mots de passe transitent en clair sur Internet. Le protocole
svn://
n’est pas sécurisé nativement. - L’abaissement du niveau de sécurité de Composer pour ce type de connexion est possible mais est assortie d’un warning systématique.
- Le protocole
svn+ssh://
nécessite un gestion de clés publiques et n’autorise pas simplement ou pas du tout d’accès anonyme en lecture. - Le protocole
svn://
ne passe pas tous les proxies d’entreprises,https://
passe presque partout.
Il faut convenir d’une URL pour les dépôt de SPIP (et plus tard de la Zone). Nous suggérons : https://svn.spip.net/spip
dans lequel le code actuel de SPIP sera dans un sous-répertoire "classic".
Les points techniques de mise en place pourront être discutés, mais l’essentiel à savoir réside dans le fait qu’il faut un serveur apache avec les modules DAV, et DAV_SVN ainsi que des conditions d’authentification dans la configuration. le démon svnserve n’est, une fois ce service mis en place, plus nécessaire et l’accès en lecture et en écriture via svn://
n’est plus possible.
Consignes pour les utilisateurs de svn pour la mise à jour de leurs working copies
éventuellement reprendre le contenu de ce mail :
[http://archives.rezo.net/archives/spip-dev.mbox/NEW3NJ2PLQERYO2QWCXDZ6VAUE63BI4R/]
Ancien URL | Nouvel URL |
---|---|
svn://trac.rezo.net/spip/spip |
https://svn.spip.net/spip/classic/trunk |
svn://trac.rezo.net/spip/branches/spip-3.2 |
https://svn.spip.net/spip/classic/branches/3.2 |
svn://trac.rezo.net/spip/tags/spip-3.2.1 |
https://svn.spip.net/spip/classic/tags/3.2.1 |
Réarrangement des plugins _core_ sur la zone
Un article détaillé est en préparation pour que les branches des plugins du _core_
soit en phase avec les contraintes de Composer et ce nouvel arrangement du code de SPIP.