Publier archivelist.txt via svn/terminal

Objectif : mettre à jour l’index archivelist.txt

Environnement : commandes svn via terminal

Si vous désirez voir publié dans la zone [1] la version paquet de votre contribution, il faut ajouter la ligne nécessaire dans le fichier archivelist.txt.

Ce fichier se trouve à la racine de la zone. Vous pouvez consulter archivelist.txt via votre navigateur préféré sur https://zone.spip.org/trac/spip-zone/browser.

La mise à jour de ce fichier nécessite l’emploi de svn, soit en ligne de commande (terminal), soit via une interface graphique.

C’est la mise en ligne via le terminal qui est illustrée ici.

Récupérer archivelist.txt

Il n’est pas nécessaire de récupérer le dépôt entier de plug-ins sur la zone pour mettre à jour le fichier archivelist.txt. Bien au contraire ! Pour vous en convaincre : consultez ce billet sur spip-zone.

Créez d’abord un répertoire d’accueil (répertoire de travail) sur votre disque dur :

cd Temp
mkdir trac

Allez dans ce répertoire :

cd trac

Récupérez les fichiers mais pas les répertoires présents à la racine de la zone :

svn checkout -N svn://zone.spip.org/spip-zone/ . 

Notez le point final pour indiquer le répertoire courant en tant que répertoire de travail. L’option -N ou —non-recursive permet de récupérer uniquement le contenu du répertoire cible et pas celui de ses sous-dossiers.

Lister le contenu de votre répertoire de travail :

ls -las

Il doit ressembler à ceci :

total 48
 0 drwxr-xr-x   5 me  staff    170 10 aoû 12:00 .
 0 drwxr-xr-x  44 me  staff   1496 10 aoû 12:01 ..
 0 drwxr-xr-x   7 me  staff    238 10 aoû 11:48 .svn
 8 -rw-r--r--   1 me  staff   1423 10 aoû 11:48 _REGLES_DE_COMMIT
40 -rw-r--r--   1 me  staff  19417 10 aoû 12:00 archivelist.txt

Le répertoire .svn ne doit pas être modifié.

Consultez le fichier _REGLES_DE_COMMIT pour précision.

Éditez le fichier archivelist.txt et effectuez votre modification. La plupart du temps, ce sera pour ajouter une contribution en suivant le guide présent en commentaire en début du fichier archivelist.txt.

Vous noterez au passage que les contributions sont classées par ordre alphabétique.

Après modification et enregistrement, quittez votre éditeur de texte et vérifiez le tout par la commande :

svn st

Logiquement, le résultat est :

M       archivelist.txt

Le M indique que le fichier archivelist.txt a été modifié.

Si vous doutez de la modification apportée, vous pouvez lancer un diff pour comparer la version précédente et votre version modifiée :

svn diff

donne par exemple :

Index: archivelist.txt
===============================
--- archivelist.txt	(révision 30781)
+++ archivelist.txt	(copie de travail)
@@ -154,6 +154,7 @@
 _plugins_/exclure_secteur/;exclure_secteur;
 _plugins_/exif/;exif
+_plugins_/export_auteurs;export_auteurs
 _plugins_/export_csv;export_csv
 _plugins_/export_odt;export_odt_200_dev
 tags/export_odt_192

La ligne qui commence par un signe plus (’+’) précise ici que cette ligne a été ajoutée.

Comme il est précisé plus haut, les contributions sont classées par ordre alphabétique. Dans l’exemple ci-dessus, export_odt est immédiatement suivi de export_odt_192. Le premier est dans le répertoire _plugins_, le second dans tags. Le fait de classer ainsi les contributions permet d’éviter les doublons.

Pour valider la modification sur le serveur de dépôt, il faut maintenant lancer la publication par une commande svn du style :

svn commit -m "Ajout du plugin export_auteurs"

L’option -m permet de loger votre action. De la décrire. En règle générale, complétez toujours un commit d’une description de votre action.

Le résultat de ce dernier appel donne quelque chose du genre :

Envoi          archivelist.txt
Transmission des données .
Révision 30783 propagée.

Pour en savoir sur la commande svn entrez sous terminal :

svn help

Voir si besoin le site officiel de subversion/svn : http://subversion.tigris.org/

Gestion des erreurs

Il arrive parfois que le serveur réponde par un message du style :

svn: Échec de la propagation (commit), détails : 
svn: Impossible de se connecter à l'hôte 'zone.spip.org': Connection refused

Ne pas s’inquiéter. Ça arrive parfois. Le serveur n’est pas disponible pour le moment. Re-essayez plus tard.

P.S : sour tortoise-svn sous windows, choisir un répertoire vide puis choisir « only file children » comme le montre la capture d’écran ci dessous

Discussion

6 discussions

  • Bonjour,

    Super explications, surtout pour moi qui travaille avec Git.
    Juste à préciser que c’est le fichier ’archivelist_externals.txt’ qui est concerné. dans ce cas car mon source est sur GitHub.
    L’installation de subversion sur ma machine et hop c’est à jour.

    Merci pour ce tuto toujours d’actualité.
    Amitiés Jean.

    Répondre à ce message

  • Un grand merci pour ce tuto simple et efficace.

    Répondre à ce message

  • 2

    Alors qu’il est sensé expliquer comment demander le zipage d’un plugin, cet article explique en fait comment se servir de SVN !!!

    Serait il possible d’y ajouter l’information cruciale à savoir : Quel est donc le format de chaque ligne de archivelist ?

    • heu... non.

      cet article est là pour (comme l’indique son titre explicitement) « Publier archivelist.txt via svn/terminal » et non pour « expliquer comment demander le zipage d’un plugin ».

    • ... et pour répondre à la question :
      le formatage de chaque ligne décrivant un paquet à faire (autrement dit : comment ajouter un plugin à archivelist) est détaillé dans les premières ligne (commentaires) du-dit fichier archivelist http://zone.spip.org/trac/spip-zone/browser/archivelist.txt#L11

    Répondre à ce message

  • L’option -N de SVN est désormais obsolète, il faut utiliser :

    svn co —depth=files svn ://zone.spip.org/spip-zone/

    Répondre à ce message

  • 3

    Excellent !

    Alors la petite difficulté, je suis sous Mac OS X, et je n’ai pas l’habitude du terminal et de ce fait, le chemin vers mon répertoire, je ne le connaît pas forcément...

    Donc, pour mémo pour les MacUsers pas habitués, le chemin vers le dossier « Documents » est le suivant :
    /Users/nom_de_l_utilisateur/Documents/

    Le bureau :
    /Users/nom_de_l_utilisateur/Desktop/

    • Excellent !

      Merci.

      J’avoue qu’après avoir essayé tous les outils clients SVN gratuits disponibles sous Mac, je n’utilise plus que le mode Terminal, bien plus rapide, ne plante jamais. Et finalement, c’est juste quelques commandes à apprendre pour régler 99 % des besoins.

      Alors la petite difficulté, je suis sous Mac OS X, et je n’ai pas l’habitude du terminal et de ce fait, le chemin vers mon répertoire, je ne le connaît pas forcément...

      Perso, j’utilise bash ou zsh avec un prompt sur deux lignes qui m’indique où je me trouve sans avoir à taper la commande pwd.

      C’est super pratique.

      Donc, pour mémo pour les MacUsers pas habitués, le chemin vers le dossier « Documents » est le suivant :
      /Users/nom_de_l_utilisateur/Documents/

      cd ~/Documents

      envoie directement dans le dossier Document du compte courant.

    • Oui, c’est sûr que le Terminal doit être sympa... Mais là, par exemple, depuis svnX, j’avais pu exporter archivelist dans mon répertoire spécifique pour lui. Je vais dans le terminal, vu que je n’arrive pas faire un up. Je suis pas à pas ton article (sans soucis particulier), mais au moment de recueillir archivelist, il me dit pas possible car y en a déjà un...

      Donc, ouais, faudrait peut-être que j’apprenne à l’utiliser. Mais maintenant que je me suis familiarisé avec svnX, je vais continuer un peu encore...

    • a titre perso

      1) n’aimant pas taper des lignes de terminal
      2) n’aimant pas svnx car trop lent

      j’ai pris le logiciel « Versions » pour Mac. Ce n’est pas une logiciel libre, même pas un gratuit (shareware) mais je le trouve top. En plus ca m’a permis d’avoir mon serveur en local sans me prendre la tete. A part pour juste faire un co à la racine où je passe encore par le terminal.

    Répondre à ce message

  • Romy Têtue

    Y’a sérieusement pas plus simple pour commander un zipage ?

    Répondre à ce message

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