Publier son projet via SVN

Vous avez un projet de plugin pour SPIP ? ou de squelette ? de noisette ? que vous aimeriez bien placer sur LA zone, voir votre œuvre publiée, ou simplement mettre à la disposition de tous votre ouvrage, travailler en équipe. Mais ...

Mais LA zone n’est réellement accessible qu’en SVN (Subversion). SVN qui vous semble complexe, obscure, hermétique. Ou, plus simplement, plus généralement, vous n’avez pas le temps de vous plonger dans les HOW-TO, les TO-DO, les MAN et autres READ-ME, LISEZ-MOI, FAQ, INFO, ...

Publication SVN par l’exemple

Voici donc en quelques lignes l’illustration des commandes nécessaires à la publication sur la zone.

L’exemple est donné ici pour le plugin imaginaire mange_moi, outil croqué par notre ami Lewis (qui s’appelait en réalité Charles) au pays des merveilles.

Qu’importe ce que fait l’outil mange_moi ! Ce billet veut juste illustrer les quelques commandes employées pour
 :

  1. créer un répertoire d’accueil sur le dépôt (le dépôt, c’est le serveur SVN qui conserve respectueusement toutes les versions des fichiers) ;
  2. créer un répertoire de travail. Le répertoire de travail est local, c’est-à-dire qu’il est présent sur votre disque dur ;
  3. ajouter un fichier à votre répertoire de travail ;
  4. publier ce fichier dans le répertoire de dépôt, et donc le rendre accessible à tous ;
  5. supprimer ce fichier ;
  6. supprimer le répertoire du projet sur le répertoire de dépôt.

Ce n’est donc qu’un simple exercice ! À vos claviers...

Pour des raisons pratiques, les liens SVN sont donnés sur le serveur de test.

Créez le répertoire du plugin sur le dépôt :

svn mkdir svn://trac.rezo.net/test/mange_moi

Le système demande le mot de passe :

Domaine d'authentification : <svn://trac.rezo.net:3690> 99a980e4-0c26-0410-a405-ef9ab5f6b07a
	Mot de passe pour 'moi@foo.bar' : 

Dans cet exemple, moi@foo.bar sera remplacé par votre adresse mail.

Entrez le mot de passe qui vous a été confié suite à votre demande/proposition de participation [1]. L’éditeur texte prend le relais (en général vi). Entrez un commentaire concernant l’action que vous venez d’effectuer puis quittez l’éditeur en sauvegardant.

Le système confirme la mise à jour :

Révision 341 propagée.

Créez le répertoire local, celui de votre projet :

mkdir mange_moi

Entrez dans votre répertoire de travail :

cd mange_moi

Faire une première mise à jour afin de créer les ressources locales à votre projet - les dossiers/fichiers .svn (notez le point à la fin de la ligne pour préciser que l’update doit être placé dans le répertoire courant) :

svn checkout svn://trac.rezo.net/test/mange_moi .

Le système confirme la mise à jour du répertoire local :

Révision 341 extraite.

Le répertoire est vide ? Normal ! Vous n’y avez encore rien déposé.

Vous souhaitez ajouter le fichier plugin.xml sur le répertoire de dépôt. Il faut d’abord demander à svn de le marquer comme fichier à envoyer, puis ensuite confirmer votre commande pour le dépôt.

Créez ou recopiez votre fichier plugin.xml dans le répertoire courant, puis marquez-le « à envoyer » :

svn add plugin.xml

Vérifiez le ou les fichiers ajoutés en attente de confirmation :

svn status

Le système répond dans cet exemple :

A       plugin.xml

Le ’A’ veut dire ’add’ (ajouter). Le fichier plugin.xml est en attente d’envoi.

Confirmez l’ajout et envoyez ce fichier :

svn commit -m "ajout du fichier plugin.xml"

L’option -m indique que ce qui suit est le texte de commentaire pour l’action demandée.

Le système répond quelque chose du genre :

Révision 342 propagée.

Vous souhaitez maintenant supprimer ce dernier fichier. Il faut d’abord demander à svn de le marquer comme fichier à supprimer, puis ensuite confirmer votre commande pour le dépôt.

Marquez le fichier « à supprimer » :

svn delete plugin.xml

Le système répond :

D         plugin.xml

Le ’D’ veut dire ’delete’ (supprimer). La suppression est en attente de confirmation.

Confirmez :

svn commit -m "suppression du fichier xml pour la démo"

Le système répond quelque chose du genre :

Révision 343 propagée.

Il ne reste plus qu’à supprimer le répertoire de test sur le dépôt :

svn delete svn://trac.rezo.net/test/mange_moi -m "supprimer ce bout de projet"

Le système répond quelque chose du genre :

Révision 344 propagée.

En quelques mots

Pas toujours souhaitable (lenteur du serveur, taille du projet très importante, hésitation sur le chemin de publication, etc.) il est parfois préférable d’utiliser la méthode « pas-à-pas » illustrée ci-dessus.

Par contre, si votre projet est composé de quelques fichiers, ou si vous êtes sûr de vous, il est possible d’importer directement l’ensemble du projet en une seule ligne de commande.

Placez-vous dans le répertoire de votre disque dur contenant le projet à recopier sur le dépôt, puis lancez :

svn import mange_moi svn://trac.rezo.net/test/mange_moi -m 'description du biscuit mange_moi'

Le premier mange_moi est le nom du répertoire présent dans votre répertoire courant. Le second, en fin d’URL, est celui de destination, créé automatiquement pour l’occasion.

Les adresses de dépôt

Dans les exemples ci-dessus, c’est le serveur de test svn ://trac.rezo.net/test qui est utilisé.

Cette adresse est à remplacer par :

  • Pour les plugins : svn://zone.spip.org/spip-zone/_plugins_
  • Pour les squelettes : svn://zone.spip.org/spip-zone/_squelettes_

et ainsi de suite (voir le browser de la zone pour en déduire les autres secteurs).

Notes

[1Voir la Charte de fonctionnement pour plus de détails à propos de votre inscription

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom