Teddy Payet
CTO Freelance

Créer un trunk sur la zone SPIP

Il arrive parfois que lorsqu’on a créé un plugin sur SPIP-Zone (ou qu’on veuille reprendre le développement d’un plugin sur SPIP-Zone) que ce plugin n’est pas sur la structure trunk/branches/tags. Pour reprendre ce plugin, il est conseillé de mettre le répertoire sous cette structure avant de commencer.

Un script pour les commander tous !

Au lieu de faire cela ligne par ligne, commande par commande, vous pouvez lancer un script à personnaliser selon le besoin. Les lignes de commande à taper ne sont pas forcément très nombreuses mais elles sont répétitives. Je vais de ce fait vous montrer un script bash qui simplifiera cette migration. Mais qui dit "bash", dit être donc sous un environnement UNIX : Linux, Mac OS.

Le script

Personnalisation

Il faut copier-coller ces lignes de commande dans un fichier qui aura pour extension .sh. Pour votre plugin, vous devez changer 2 valeurs :

  • plugin_nom : le nom du répertoire de votre plugin
  • plugin_numero : le numéro du plugin (sous la forme x.y.z) que vous trouverez dans le fichier plugin.xml ou paquet.xml

Vous n’avez pas besoin de changer l’URL du serveur svn de la zone sauf si le plugin que vous désirez reprendre le développement n’est pas dans le répertoire _plugins_.
Ce script va faire 5 commits au final avec les commentaires qui vont bien avec. Pour cela, ouvrez votre terminal et lancer le script que vous avez créé.

J’ai déjà éprouvé ce script à mon travail sur mes différents projets. Il est simple et efficace.

Explications

Même si le script est simple, on peut expliquer ce qui se passe et notamment l’écriture particulière de la syntaxe de bash.

  • Tout fichier bash commence par la ligne #!/bin/bash. Cela indique (en plus de l’extension .sh) que c’est bien un fichier… bash.
  • url_svn= : lorsque vous voyez un texte suivi d’un simple signe égal "=", c’est que vous créez une variable avec une valeur ;
  • Pour rappeler au besoin la variable, vous devez taper $ puis le nom de la variable désirée.
  • Pour pouvoir mettre du texte collé à votre variable, il faut mettre le nom de la variable entre accolades. Exemple : ${plugin_nom}_trunk donnera votreplugin_trunk
  • Si vous désirez avoir les premiers caractères de votre variable, dans le rappel de votre variable, vous pouvez utiliser la forme ${nom_variable:debut:longueur} où :
    • nom_variable : le nom de votre variable ;
    • debut : emplacement où commencer (0 étant le numéro du premier caractère) ;
    • longueur : le nombre de caractères que vous désirez récupérer.

Plus de lecture

Le sujet du rangement sur la zone a été abordé à plusieurs reprises :

 
Systèmes d’exploitation
Mac OS
Industrialisation
SVN
Catégorie
Notes de développement, Astuce