Subversion : ajouter et mettre à jour un plugin WordPress sur le dépôt officiel

wordpress-svn-logo

De temps en temps, je mets mes plugins WordPress sur le dépôt officiel mais j’utilise assez rarement subversion – connu également sous le doux nom svn – et j’ai tendance à en oublier la syntaxe.

Voici donc un petit aide-mémoire pour l’utilisation de subversion avec les plugins WordPress.

Ajouter un plugin sur le dépôt officiel WordPress

1. On crée un répertoire local sur notre machine pour y accueillir notre projet:

mkdir my-local-dir

2. On synchronise le dépôt avec un check-out en donnant le slug du plugin:

svn co https://plugins.svn.wordpress.org/your-plugin-name my-local-dir

Résultat:

> A	my-local-dir/trunk
> A	my-local-dir/branches
> A	my-local-dir/tags
> Checked out revision 1135625.

Subversion vient d’ajouter ( “A” signifie “add” ) tous les répertoires du dépôt central à notre copie locale.

3. On copie tous les fichiers du plugin dans le répertoire trunk/:

cd my-local-dir/
my-local-dir/$ cp ~/my-plugin.php trunk/my-plugin.php
my-local-dir/$ cp ~/readme.txt trunk/readme.txt

4. On prépare l’ajout des fichiers du plugin au dépôt central:

my-local-dir/$ svn add trunk/* assets/*
> A	trunk/my-plugin.php
> A	trunk/readme.txt

5. On donne un message à notre check-in et on envoie les fichiers au dépôt central :

my-local-dir/$ svn ci -m 'Adding first version of my plugin'
> Adding	trunk/my-plugin.php
> Adding	trunk/readme.txt
> Transmitting file data .
> Committed revision 1135626.

Voilà, vous venez d’ajouter votre plugin au dépôt officiel de WordPress !

Supprimer un fichier sur le dépôt

Pour supprimer un fichier sur le dépôt, il faut supprimer le fichier avec svn delete puis commettre les changements avec svn commit. C’est lors du commit que le fichier est supprimé du dépôt :

svn delete myfile
> D         myfile

svn commit -m "Deleted file 'myfile'."
> Deleting       myfile
> Transmitting file data .
> Committed revision 1135629.

Mettre à jour un plugin sur le dépôt

Une fois le plugin hébergé chez WordPress, vous serez sûrement amené à le mettre à jour.

1. On commence par vérifier que notre copie locale est à jour avec la copie qui se trouve chez WordPress:

cd my-local-dir/
my-local-dir/$ svn up

Résultat :

> At revision 1135626.

Nous sommes à jour. S’il y avait eu des changements, subversion vous aurait averti pour les fusionner avec votre copie locale.

2. On édite les fichiers du plugin, on n’oublie pas de mettre à jour readme.txt

3. On vérifie ce qui a changé entre notre copie locale et celle du dépôt :

my-local-dir/$ svn stat

Résultat:

> M	trunk/my-plugin.php

Le fichier a bien été modifié ( “M” for “modified” ).

4. On envoie tout ça sur le serveur avec un check-in :

my-local-dir/$ svn ci -m "fancy new feature: now you can foo *and* bar at the same time"

Résultat:

> Sending	trunk/my-plugin.php
> Transmitting file data .
> Committed revision 113562.

5. On taggue maintenant la version du plugin que l’on vient de sortir. Cela permet aux utilisateurs (ou au développeurs) de voir ce qui a changé entre deux versions ou de revenir à la version précédente si besoin.

Important : on commence par mettre à jour le champs Stable Tag dans trunk/readme.txt

On copie le contenu de trunk/ dans le répertoire tags/ suivi du numéro de la version du plugin :

my-local-dir/$ svn cp trunk tags/2.0

Résultat:

> A tags/2.0

On ajoute maintenant la nouvelle version sur le serveur, avec un petit message qui annonce la nouvelle version:

my-local-dir/$ svn ci -m "tagging version 2.0"

Résultat :

> Adding         tags/2.0
> Adding         tags/2.0/my-plugin.php
> Adding         tags/2.0/readme.txt
> Committed revision 1135638.

Et voilà, votre plugin WordPress de trouve désormais sur le dépôt central officiel de WordPress!

Envie d'ajouter des fonctionnalités exceptionnelles à votre site WordPress ou WooCommerce? Je suis là pour vous aider.

Explorons les possibilités ensemble »

Articles conseillés :

2 pensées sur “Subversion : ajouter et mettre à jour un plugin WordPress sur le dépôt officiel”

  1. Article intéressant, mais il faudrait aussi expliquer comment ajouter des nouveaux fichiers dans le plugin lorsque l’on souhaite faire un update.

    Reply

Opinions