Gestion des branches des plugins du Core #4845

Closed
opened 2 months ago by marcimat · 8 comments
Owner

Les plugins-dist sont chargés grace au fichier https://git.spip.net/spip/spip/src/branch/master/plugins-dist.json par les outils tel que Checkout ou Spip-cli.
Ces outils s'appuient dessus lorsqu'on lance des commandes tel que "checkout spip -b3.2 ." soit : télécharge ou met à jour un SPIP 3.2.

Les plugins-dist du core ont actuellement des branches par version de SPIP tel que "spip-3.2".

Ces nommages posent quelques problèmes car ils ne suivent pas du tout la version du plugin, ce qui fait que parfois les numéros de versions peuvent se chevaucher d'une branche à l'autre d'une part, et d'autre part, ce n'est pas très commun dans l'usage de GIT (et du monde PHP - Composer - Packagist) ce fonctionnement.

Je proposerais bien 2 choses pour cette version 4.0

  • déclarer dans plugins-dist.json une clé "branch" qui indique la branche de chaque plugin a charger.
  • créer à partir de maintenant des branches par version X (ou X.Y éventuellement) des plugins du core

Il y a plusieurs corolaires :

  • du coup un plugin Core pourrait être compatible avec plusieurs versions de SPIP si besoin
  • un changement de version minimale du SPIP requis dans ces plugins nécessite alors un incrément du X (ou X.Y selon le choix fait de branches)

Des avis ?

Les plugins-dist sont chargés grace au fichier https://git.spip.net/spip/spip/src/branch/master/plugins-dist.json par les outils tel que Checkout ou Spip-cli. Ces outils s'appuient dessus lorsqu'on lance des commandes tel que "checkout spip -b3.2 ." soit : télécharge ou met à jour un SPIP 3.2. Les plugins-dist du core ont actuellement des branches par version de SPIP tel que "spip-3.2". Ces nommages posent quelques problèmes car ils ne suivent pas du tout la version du plugin, ce qui fait que parfois les numéros de versions peuvent se chevaucher d'une branche à l'autre d'une part, et d'autre part, ce n'est pas très commun dans l'usage de GIT (et du monde PHP - Composer - Packagist) ce fonctionnement. Je proposerais bien 2 choses pour cette version 4.0 - déclarer dans plugins-dist.json une clé "branch" qui indique la branche de chaque plugin a charger. - créer à partir de maintenant des branches par version X (ou X.Y éventuellement) des plugins du core Il y a plusieurs corolaires : - du coup un plugin Core pourrait être compatible avec plusieurs versions de SPIP si besoin - un changement de version minimale du SPIP requis dans ces plugins nécessite alors un incrément du X (ou X.Y selon le choix fait de branches) Des avis ?

Carrément +1

Autant pour le fait qu'une même branche puisse être ok avec plusieurs SPIP, donc moins de reports à faire quand on corrige des choses. Que pour le fait de se mettre bien plus propre pour git/composer etc.

Carrément +1 Autant pour le fait qu'une même branche puisse être ok avec plusieurs SPIP, donc moins de reports à faire quand on corrige des choses. Que pour le fait de se mettre bien plus propre pour git/composer etc.
Owner

Totalement pour : ça simplifiera grandement la gestion des plugins-dist par branche du core qui commence à poser des problèmes avec spip-cli

Totalement pour : ça simplifiera grandement la gestion des plugins-dist par branche du core qui commence à poser des problèmes avec spip-cli
Poster
Owner
- https://git.spip.net/spip-contrib-outils/checkout/pulls/5 - https://git.spip.net/spip-contrib-outils/spip-cli/pulls/20
Owner

+1
Statut changé à En cours

+1 **Statut changé à En cours**
Poster
Owner
- master : https://git.spip.net/spip/spip/commit/6d374a3cc0665a4d6f62f3eaef88749ba1e70143 - 3.2 : https://git.spip.net/spip/spip/commit/8eecb049c63210179e5ff99292276407bd90257f - 3.1 : https://git.spip.net/spip/spip/commit/d8c291a2a0886441e92a774f83eafc8807d49af4
Poster
Owner

Donc… le plan pour le moment

Je crée une branche "X.Y" à partir du master des plugins Core. Cette branche sera pour SPIP 4.0 - stable.
Je modifie master en "X.{Y+1}-dev" avec statut dev. Cette branche sera pour le SPIP master.

Donc… le plan pour le moment Je crée une branche "X.Y" à partir du master des plugins Core. Cette branche sera pour SPIP 4.0 - stable. Je modifie master en "X.{Y+1}-dev" avec statut dev. Cette branche sera pour le SPIP master.
Poster
Owner

Bah c’est donc fait.

À noter que la compatibilités des plugins Core sur "master" est pour le moment [4.0.0-beta;4.0.*] et sera donc à changer.
C’est moins à jour que leurs branches de release respectives qui ont [4.0.0;4.0.*]

Bah c’est donc fait. À noter que la compatibilités des plugins Core sur "master" est pour le moment `[4.0.0-beta;4.0.*]` et sera donc à changer. C’est moins à jour que leurs branches de release respectives qui ont `[4.0.0;4.0.*]`
Poster
Owner

Statut changé à Fermé

**Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.