Accueil > Docs > Du rangement sur la zone...

Du rangement sur la zone...

mercredi 15 juin 2011, par b_b

Pendant que SPIP 3 se prépare, on teste une nouvelle organisation des répertoires d’un plugin sur la zone. Le but est de permettre aux gens de trouver tout de suite la bonne version des sources d’un plugin. Pour cela on n’a rien inventé, on reprend donc une organisation "classique" avec un dossier trunk pour la version en cours de développement et un dossier branches qui contient les différentes branches du plugin.

Comme le disait Cédric sur IRC : "Il ne faut pas perdre l’historique du répertoire". Voici les commandes svn à exécuter depuis un terminal pour y parvenir.

Tout d’abord, il faut se placer dans le répertoire _plugins_ d’une copie locale de la zone. Si vous n’avez pas de copie locale de la zone, vous pouvez récupérer le répertoire des plugins à l’aide des commandes suivantes :

svn co svn://zone.spip.org/spip-zone/_plugins_
cd _plugins_

Pour commencer, on déplace le dossier du plugin toto vers toto_trunk et on commit les modifications.

svn mv toto toto_trunk
svn commit toto toto_trunk

Ensuite, on crée un nouveau répertoire toto et on l’ajoute au dépôt. Puis on déplace le dossier toto_trunk vers toto/trunk et on commit les modifications.

mkdir toto
svn add toto
svn mv toto_trunk toto/trunk
svn commit toto toto_trunk

Et pour finir on peut enfin créer une branche à partir du dossier trunk avec les commandes suivantes :

cd toto
mkdir branches
svn add branches
svn cp trunk branches/v1
svn commit branches

Par exemple, cela correspond aux commits suivant pour le plugin minibando :

http://zone.spip.org/trac/spip-zone/changeset/48585/

http://zone.spip.org/trac/spip-zone/changeset/48586/

http://zone.spip.org/trac/spip-zone/changeset/48587/

Messages

  • mon experience sur metas

    svn mv metas metas_trunk
    svn commit -m "on branche metas pour portage en 3.0"  metas metas_trunk 
    mkdir metas
    svn add metas
    svn commit -m "on branche metas pour portage en 3.0 . etape 2 "  metas metas_trunk 
    cd metas
    mkdir branches
    svn cp trunk/ branches/
    svn commit -m "on branche metas pour portage en 3.0 . etape 3 ... c'est simple ;) "  branches/
    cd branches/
    svn mv trunk/ 1.3.1
    svn commit -m "on branche metas pour portage en 3.0 . etape 4 ... avant dernier  "  trunk 1.3.1
    svn diff archivelist.txt 
    svn commit -m "on branche metas pour portage en 3.0 . etape 4 ... ooooooooooouf   "  archivelist.txt
  • C’est peut-être pas mal, pour mieux comprendre la convention de nommage des répertoires, de rappeler cette « Présentation de Subversion et de ses bonnes pratiques d’utilisation » (merci cy_altern).

    Partant, pour répondre au message précédent, ce sera plutôt :

    • /toto
      • /branches
        • /v1 (première version)
          • ...
          • ...
        • /v2 (version suivante)
          • ...
          • ...
      • /trunk (version en cours de développement)
        • ...
        • ...
  • Oui c’est bien ça :)

    PS : j’ai supprimé ton précédent commentaire pour ne pas induire les gens en erreur.

  • Si on a pas le courage / la place / la volonté / l’envie de télécharger toute la spip-zone/_plugins_ pour faire la migration :


    svn mv svn ://zone.spip.org/spip-zone/_plugins_/monplugin/ svn ://zone.spip.org/spip-zone/_plugins_/monplugin_trunk -m "passage en trunk : étape 1"
    svn mkdir svn ://zone.spip.org/spip-zone/_plugins_/monplugin/ -m "passage en trunk : étape 2"
    svn mv svn ://zone.spip.org/spip-zone/_plugins_/monplugin_trunk svn ://zone.spip.org/spip-zone/_plugins_/monplugin/trunk -m "passage en trunk étape 3"
    svn cp —parents svn ://zone.spip.org/spip-zone/_plugins_/monplugin/trunk svn ://zone.spip.org/spip-zone/_plugins_/monplugin/branches/mabranche -m "création de branche"

  • Si on a chez soi tout le répertoire _plugins_ de la zone, on peut aussi le faire en 1 commit :

    http://zone.spip.org/trac/spip-zone/changeset/80431

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

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