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 :

  1. cd trac

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

  1. 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 :

  1. 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 :

  1. svn st

Logiquement, le résultat est :

  1. 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 :

  1. 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 :

  1. 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 :

  1. 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

updated on 9 February 2019

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.

    Reply to this message

  • Un grand merci pour ce tuto simple et efficace.

    Reply to this 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

    Reply to this message

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

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

    Reply to this 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.

    Reply to this message

  • Romy Têtue

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

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom