[spip-dev] Organisation de la forge Git de SPIP

Hello,

C’est un jour important pour le développement de SPIP car la migration de la forge SPIP de SVN (autrement dit la Zone) vers Git (forge Gitea ou notre nouvelle Zone) a clairement débutée.
Une première étape est finalisée (où se termine au moment où j’écris ce mail, le script n’étant pas totalement fini), je vais expliquer en quoi elle consiste.

Etape 1 : organisations et plugins 3.2
Cette première étape nous a donné l’occasion d’échanges multiples quant aux nombres et aux noms des organisations que nous espérons compréhensibles . Il a été décidé que la nouvelle forge rappellerait l’organisation de la Zone SVN pour faciliter l’apprentissage.
De fait nous avons choisi de créer les organisations dont la liste est consultable à l’adresse https://git.spip.net/explore/organizations, à savoir :

  • spip

  • spip-contrib-extensions

  • spip-contrib-squelettes

  • spip-contrib-themes

  • spip-contrib-outils

  • galaxie

L’organisation “spip” contient le noyau de spip et l’ensemble des plugins-dist. Elle est publique (donc accessible en lecture pour tout le monde) mais accessible en écriture uniquement par une équipe nommée “SPIP” qui correspond exactement à l’équipe noyau actuelle.
Il sera possible pour des développeurs externes à la team SPIP de proposer des modifications en utilisant le processus de Push Request (PR) qui remplace avantageusement le patch de SVN.

L’organisation “galaxie” contient l’ensemble des sites de la galaxie. Elle est publique mais accessible en écriture uniquement par une équipe nommée “galaxie” qui correspond à l’équipe noyau de SPIP et de quelques contributeurs additionnels assurant le développement de certains sites.

Enfin, les organisations spip-contrib-xxxx contiennent les contributions accessibles en écriture à tous les inscrits sur la forge qui ont été regroupés dans une équipe nommée “contrib” (a priori la même liste que sur la Zone aux erreurs près). On distingue donc :

  • spip-contrib-extensions : qui contient l’ensemble des contributions fonctionnelles (sou forme de plugin ou autre) et qui proviennent des répertoires plugins (principalement) et grenier (à voir).

  • spip-contrib-squelettes : qui contient l’ensemble des contributions de squelettes (sou forme de plugin ou autre) qui proviennent de squelettes

  • spip-contrib-themes : qui contient l’ensemble des contributions de thèmes au sens de SPIP qui proviennent de themes

  • spip-contrib-outils : qui contient les outils connexes à SPIP qui proviennent de outils et dev

Pour l’instant toute la zone n’a pas encore été transférée, le choix s’est portée en premier lieu sur les plugins compatibles SPIP 3.2. Certains (liste à disposition) n’ont pas été importés car leur organisation sur le Zone nécessite quelques adaptations ou discussions. Par exemples, il reste à discuter comment on aplatit la structure actuelle de themes (nomenclature à décider).
spip-contrib-extensions et spip-contrib-squelettes sont quand à elles bien peuplées.

Pour le moment, la Zone continue d’être accessible en écriture (commit) de la même façon que la forge Git.
Un outil de synchronisation assure la cohérence bidirectionnelle.
Cette synchronisation va être assurée encore jusqu’à fin mars pour les organisations spip-contrib-xxxx.
A partir d’avril seule la forge Git permettra de contribuer aux organisations spip-contrib-xxxx, il faudra donc d’ici là switcher les environnements de développement sous Git.
Pour cela, une documentation sera proposée pour expliquer à tous comment effectuer la migration des environnements de développement.

Etape 2 : consolidation des organisations
L’étape qui débute maintenant va permettre à tout membre de la forge de :

  • vérifier qu’il a bien accès aux organisation spip-contrib-xxxx en écriture. Si ce n’est pas le cas, remonter le problème aux admins sur la liste spip-dev
  • continuer à peupler les organisations avec les plugins qui posaient un problème dans la liste des SPIP 3.2 (voir PS), puis les plugins 3.1… et aussi les outils, la galaxie et les thèmes. Si vous avez besoin d’un plugin particulier ne pas hésiter à remonter aussi cela sur la liste spip-dev.
  • rédiger les articles d’explication et commencer l’apprentissage
  • mettre au point les organisations spip et galaxie
  • définir le fonctionnement avec les PR et les tickets.

Donc encore pas mal de boulot mais une grosse étape est passée.
On attend avec impatience vos remarques, propositions et encouragements :wink:

Merci à ceux qui ont travaillé sur cette grosse migration, je crois qu'on a franchi une étape cette fois \o/

Juste un petit détail, galaxie ne serait pas mieux nommée en spip-galaxie, pour être cohérents ?

hello,

super, merci pour tout ça, c’est énorme !

Merci à ceux qui ont travaillé sur cette grosse migration, je crois
qu’on a franchi une étape cette fois \o/

Je plussois.
Un dimanche qui fera date dans l’année 2020 !

Juste un petit détail, galaxie ne serait pas mieux nommée en
spip-galaxie, pour être cohérents ?

Moi c’est plutôt « spip » tout court qui m’intrigue et que je verrai bien en « spip-core » par exemple.

Merci pour ce boulot énorme !
Jacques

Yop,

Juste un petit détail, galaxie ne serait pas mieux nommée en
spip-galaxie, pour être cohérents ?

Moi c’est plutôt « spip » tout court qui m’intrigue et que je verrai bien en « spip-core » par exemple.

spip contient à la fois le noyau (donc le core) et les plugins-dist. C’est pourquoi on a préféré le nommer spip tout court.
J’ai proposé galaxie pour que justement ça se distingue de spip et spip-contrib-xxxx.
En fait, si vous lisez le mail on a trois grandes familles d’organisation qui correspondent à trois types d’accès différents :

  • spip : la team SPIP uniquement
  • galaxie : la team SPIP + quelques contributeurs
  • spip-contrib-xxxx : l’ensemble des contributeurs de la zone regroupés dans la team contrib.

Donc j’ai évité spip-galaxie pour ne pas confondre avec spip-contrib-xxx.

Hello,

C’est un jour important pour le développement de SPIP car la migration de la forge SPIP de SVN (autrement dit la Zone) vers Git (forge Gitea ou notre nouvelle Zone) a clairement débutée.
Une première étape est finalisée (où se termine au moment où j’écris ce mail, le script n’étant pas totalement fini), je vais expliquer en quoi elle consiste.

Etape 1 : organisations et plugins 3.2
Cette première étape nous a donné l’occasion d’échanges multiples quant aux nombres et aux noms des organisations que nous espérons compréhensibles . Il a été décidé que la nouvelle forge rappellerait l’organisation de la Zone SVN pour faciliter l’apprentissage.

Merci, Merci, Merci.
Je sais qu’il y avait quelques réticences (ou plutôt un désire d’en profiter pour améliorer ? mais il se trouve que l’organisation actuelle est le résultat de réorganisations successives et donne satisfaction à la majorité) mais cela va aider/accélérer la transition, je pense.

De fait nous avons choisi de créer les organisations dont la liste est consultable à l’adresse https://git.spip.net/explore/organizations, à savoir :

  • spip

  • spip-contrib-extensions

  • spip-contrib-squelettes

  • spip-contrib-themes

  • spip-contrib-outils

  • galaxie

L’organisation « spip » contient le noyau de spip et l’ensemble des plugins-dist. Elle est publique (donc accessible en lecture pour tout le monde) mais accessible en écriture uniquement par une équipe nommée « SPIP » qui correspond exactement à l’équipe noyau actuelle.
Il sera possible pour des développeurs externes à la team SPIP de proposer des modifications en utilisant le processus de Push Request (PR) qui remplace avantageusement le patch de SVN.

L’organisation « galaxie » contient l’ensemble des sites de la galaxie. Elle est publique mais accessible en écriture uniquement par une équipe nommée « galaxie » qui correspond à l’équipe noyau de SPIP et de quelques contributeurs additionnels assurant le développement de certains sites.

Enfin, les organisations spip-contrib-xxxx contiennent les contributions accessibles en écriture à tous les inscrits sur la forge qui ont été regroupés dans une équipe nommée « contrib » (a priori la même liste que sur la Zone aux erreurs près). On distingue donc :

  • spip-contrib-extensions : qui contient l’ensemble des contributions fonctionnelles (sou forme de plugin ou autre) et qui proviennent des répertoires plugins (principalement) et grenier (à voir).

  • spip-contrib-squelettes : qui contient l’ensemble des contributions de squelettes (sou forme de plugin ou autre) qui proviennent de squelettes

  • spip-contrib-themes : qui contient l’ensemble des contributions de thèmes au sens de SPIP qui proviennent de themes

  • spip-contrib-outils : qui contient les outils connexes à SPIP qui proviennent de outils et dev

Pour l’instant toute la zone n’a pas encore été transférée, le choix s’est portée en premier lieu sur les plugins compatibles SPIP 3.2. Certains (liste à disposition) n’ont pas été importés car leur organisation sur le Zone nécessite quelques adaptations ou discussions. Par exemples, il reste à discuter comment on aplatit la structure actuelle de themes (nomenclature à décider).
spip-contrib-extensions et spip-contrib-squelettes sont quand à elles bien peuplées.

Avec tout ça on garde le principe du « qui » donc double bénef :slight_smile:

Pour le moment, la Zone continue d’être accessible en écriture (commit) de la même façon que la forge Git.
Un outil de synchronisation assure la cohérence bidirectionnelle.
Cette synchronisation va être assurée encore jusqu’à fin mars pour les organisations spip-contrib-xxxx.
A partir d’avril seule la forge Git permettra de contribuer aux organisations spip-contrib-xxxx, il faudra donc d’ici là switcher les environnements de développement sous Git.

C’est un peu dommage d’arrêter la synchronisation quand on peut avoir le meilleur des deux mondes. Espérons que tout le monde aura eu le temps de migrer son « toolchain » (je pense aux non developpeurs avec l’infra qui récupère du Subversion)

J’aurais vu plutôt l’arrêt de l’accès en écriture svn et la synchro (unidirectionnelle) qui se fait en prenant git comme référence. Mais bon.

Oui, ça a du sens.

Yop,

Juste un petit détail, galaxie ne serait pas mieux nommée en
spip-galaxie, pour être cohérents ?

Moi c’est plutôt « spip » tout court qui m’intrigue et que je verrai bien en « spip-core » par exemple.

spip contient à la fois le noyau (donc le core) et les plugins-dist. C’est pourquoi on a préféré le nommer spip tout court.

Ou « spip-dist » ? Mais bon, dans un peu temps ça choquera plus (ou moins par habitude)

J’ai proposé galaxie pour que justement ça se distingue de spip et spip-contrib-xxxx.
En fait, si vous lisez le mail on a trois grandes familles d’organisation qui correspondent à trois types d’accès différents :

  • spip : la team SPIP uniquement
  • galaxie : la team SPIP + quelques contributeurs
  • spip-contrib-xxxx : l’ensemble des contributeurs de la zone regroupés dans la team contrib.

Donc j’ai évité spip-galaxie pour ne pas confondre avec spip-contrib-xxx.

Ça fait sens. En y repensant, je me demande si à l’inverse les « spip-contrib-xxx » n’auraient pas du être tout juste « contrib-xxx » :slight_smile:

Super et merci pour le boulot :blush:

Franck

Eric Lupinacci a écrit le 19/01/2020 à 19:29 :

Hello,

C'est un jour important pour le développement de SPIP car la migration de la forge SPIP de SVN (autrement dit la Zone) vers Git (forge Gitea ou notre nouvelle Zone) a clairement débutée.
Une première étape est finalisée

Bravo et merci !

Une remarque en passant : https://git.spip.net/ n'est pas en lien dans la boussole…

Je saisis pas trop pourquoi, on a ajouté "contrib" sur la suggestion de Marcimat, justement pour indiquer ceux qui étaient en rapport avec la communauté de contrib.

Bon après pour galaxie on s'en fiche, c'est pas trop fait pour être partageable sur composer etc ensuite…

Mais bon sur le principe, l'idée c'était d'être systématique, pareil pour tous : toujours préfixer par "spip-" dans l'idée que le nom ne change plus jamais, que ce soit sur composer, si on mirorise ou déplace ailleurs, etc.

Yop,

Donc j’ai évité spip-galaxie pour ne pas confondre avec spip-contrib-xxx.

Je saisis pas trop pourquoi, on a ajouté « contrib » sur la suggestion de Marcimat, justement pour indiquer ceux qui étaient en rapport avec la communauté de contrib.

Oui et Galaxie n’est pas ouvert comme Contrib d’où le fait de ne pas avoir mis contrib devant, ni spip pour aussi faire une différence.

Bon après pour galaxie on s’en fiche, c’est pas trop fait pour être partageable sur composer etc ensuite…

Et aussi pour ça oui.

Mais bon sur le principe, l’idée c’était d’être systématique, pareil pour tous : toujours préfixer par « spip- » dans l’idée que le nom ne change plus jamais, que ce soit sur composer, si on mirorise ou déplace ailleurs, etc.

Franchement si ça gêne on changera c’est pas la plus grosse organisation.
Mais j’ai fait exactement comme indiqué dans le mail de proposition.

Après, pour Galaxie le sujet principal est le rangement comme je l’ai indiqué et c’est la dessus qu’il faut passer un peu de temps.

Bonjour

Un complément technique, pour les personnes qui avaient déjà
synchronisé des dépôts depuis les anciennes organisations.
Il est possible de basculer simplement (comme le vénérable svn switch) :

git remote set-url origin git@git.spip.net/....

Km

cam.lafit@azerttyu.net a écrit le 20/01/2020 à 09:55 :

Bonjour

Un complément technique, pour les personnes qui avaient déjà
synchronisé des dépôts depuis les anciennes organisations.
Il est possible de basculer simplement (comme le vénérable svn switch)

A propos du vénérable svn switch…

Soit un dossier actuellement en SVN
Est-ce qu'il y a une commande en git pour dire que désormais, le dossier en question a pour origine Git ?
(et sans doute juste après un rm .svn/ -rf)

Merci

Non il y a pas.
Si tu veux bidouiller, tu peux en effet supprimer le .svn de ton dossier, faire un git clone à côté, aller dans le checkout git, te mettre sur la bonne branche (petit détail à ne pas oublier), remonter, et copier en récursif le dossier .git de ton clone vers le dossier d’origine.
Du coup il sera alors bien en git, sur le bon repository, et tu ne perdras aucune de tes éventuelles modif locales.
Mais tu n’est pas à l’abri d’un bazar si tu oublie de te mettre sur la bonne branche par exemple, ou te trompes :frowning:

Le plus propre est de clone à côté de ton dossier svn et de faire un move pour switcher entre le dossier svn et le dossier git

ouan-der-phoul !!!!!!! C'est super, vrai

Ensuite, la même chansonnette

Si je veux changer Zbox de place et mettre le nom en minuscules…

https://git.spip.net/spip-contrib-extensions/ZBox

à

https://git.spip.net/spip-contrib-squelettes/zbox

Je fais comment ? Pour travailler en remote je ne vois que push, mais il n'y pas de commande "move", en revanche, j'ai un
https://git.spip.net/repo/migrate
C'est là ?

Et encore une fois, si je veux créer un dépôt via Gitea je ne peux pas le créer dans les espaces des organisations (ou je ne vois pas)

Hello,

Si je veux changer Zbox de place et mettre le nom en minuscules…

https://git.spip.net/spip-contrib-extensions/ZBox

à

https://git.spip.net/spip-contrib-squelettes/zbox

C’est fait.
Faudra adapter ton clone local si tu en as un en changeant le remote avec la commande que Camille a rappelée soit dans ton cas :
git remote set-url origine git@git.spip.net:spip-contrib-extensions/zbox.git

Je fais comment ? Pour travailler en remote je ne vois que push, mais il
n’y pas de commande « move », en revanche, j’ai un
https://git.spip.net/repo/migrate
C’est là ?

Non la migration d’un repo c’est pas ça.
Tu dois cloner le remote en local dans un répertoire de ton choix.
Pour connaitre l’url tu vas sur ton plugin zbox sur la forge et tu copies l’url proposée avec le bouton prévu à cet effet.
Lis aussi l’article (voir tous les articles) ici : http://blog.smellup.net/spip.php?article113
C’est pas encore complet mais ça donne déjà une idée.

Et encore une fois, si je veux créer un dépôt via Gitea je ne peux pas
le créer dans les espaces des organisations (ou je ne vois pas)

Ben si tu vas sur l’organisation où tu veux créer ton dépôt et que tu es connecté alors tu vois un bouton + en haut à droite à coté de ton avatar.
Si tu ouvres tu as « ajouter un dépôt ».

Hello,

Le lun. 20 janv. 2020 à 11:45, Luis <contact@ilimitar.net <mailto:contact@ilimitar.net>> a écrit :

    Si je veux changer Zbox de place et mettre le nom en minuscules…

    spip-contrib-extensions / zbox · GitLab
    <Connexion · GitLab;

    à

    Connexion · GitLab
    <Connexion · GitLab;

C'est fait.
Faudra adapter ton clone local si tu en as un en changeant le remote avec la commande que Camille a rappelée soit dans ton cas :
git remote set-url origine git@git.spip.net:spip-contrib-extensions/zbox.git

Super !

    Je fais comment ? Pour travailler en remote je ne vois que push,
    mais il
    n'y pas de commande "move", en revanche, j'ai un
    Connexion · GitLab
    C'est là ?

Non la migration d'un repo c'est pas ça.
Tu dois cloner le remote en local dans un répertoire de ton choix.
Pour connaitre l'url tu vas sur ton plugin zbox sur la forge et tu copies l'url proposée avec le bouton prévu à cet effet.
Lis aussi l'article (voir tous les articles) ici : Tutoriel de démarrage avec Git - La Taverne à Tonton
C'est pas encore complet mais ça donne déjà une idée.

Ok. Je vais lire ça

    Et encore une fois, si je veux créer un dépôt via Gitea je ne peux pas
    le créer dans les espaces des organisations (ou je ne vois pas)

Ben si tu vas sur l'organisation où tu veux créer ton dépôt et que tu es connecté alors tu vois un bouton + en haut à droite à coté de ton avatar.
Si tu ouvres tu as "ajouter un dépôt".

C'est ce que je disais, je ne voyais pas.

Et encore une fois : c'est super, c'est trop bien :wink:

Ça reste dans les archives mails ces commandes repères ?
Ou on les range structurées et accessibles qqpart d'officiel ?
JL