Postulat de départ

, par James

La gestion du code source de SPIP et de ses plugins sont sur 2 dépôts subversion, historisant 13 ans de changements du code.

Par commodité, la démo SPIPRemix s’appuiera sur un seul dépôt subversion et autant de dépôts git que nécessaire, mais les modifications de la base de code seront transposables sur les dépôts d’origine. Des scénarii de transformation et de migration des dépôts officiels pourront être proposés ultérieurement [1].

Pour produire ce dépôt, nous avons intégré le 30 avril 2018 le code des branches suivantes du dépôt https://core.spip.net/projects/spip... :

  • spip/
  • branches/spip-3.0,
  • branches/spip-3.1 et
  • branches/spip-3.2.

Nous avons volontairement procédé avec la commande svn export, ce qui a eu pour conséquence d’intégrer le code du squelette "dist", des plugins du "core" et l’écran de sécurité pour éviter d’utiliser les propriétés svn:externals [2].

Puis nous avons ajouté des fichiers composer.json et créé les tags 3.0.28, 3.1.9 et 3.2.2 à partir de leurs branches respectives [3].

L’arborescence du dépôt SVN SPIPremix est la suivante :

/spip
/spip/classic              #svn://trac.rezo.net/spip
/spip/classic/trunk        #svn://trac.rezo.net/spip/spip
/spip/classic/branches     #svn://trac.rezo.net/spip/branches
/spip/classic/branches/3.0 #svn://trac.rezo.net/spip/branches/spip-3.0
/spip/classic/branches/3.1 #svn://trac.rezo.net/spip/branches/spip-3.1
/spip/classic/branches/3.2 #svn://trac.rezo.net/spip/branches/spip-3.2
/spip/classic/tags         #svn://trac.rezo.net/spip/tags
/spip/classic/tags/3.0.28  #svn://trac.rezo.net/spip/tags/spip-3.0.27
/spip/classic/tags/3.1.9   #svn://trac.rezo.net/spip/tags/spip-3.1.8
/spip/classic/tags/3.2.2   #svn://trac.rezo.net/spip/tags/spip-3.2.1

Après avoir réfléchi et défini Le nom des choses, nous avons ensuite procédé à la Mise en place du dépôt Composer.

Notes

[2Disclaimer : Aucun scénario proposé sur SPIPRemix n’incitera à une telle démarche. Par contre, ils auront vocation à faire disparaître cette technique des pratiques de gestion au profit d’une gestion de dépendances par composer et tout déplacement de code sur le dépôt svn de SPIPRemix vers un nouvel emplacement devra être interprété comme la proposition d’une suppression de tout ou partie d’une propriété svn:externals sur les dépôts officiels.

[3Disclaimer2 : Les numéros de version sont donc à prendre pour ce qu’ils sont, des exemples liés à la démo et qui n’ont pas plus de valeur (ni symbolique, ni contractuelle) que cela. Ils n’engagent pas l’équipe officielle en charge de la maintenance de SPIP.