[SPIP Zone] [Spip-zone-commit] r12943, 13006, 13032

----Message d'origine----

Date: Sun, 17 Jun 2007 13:30:47 -0000
A: spip-zone-commit@rezo.net
De: joseph@larmarange.net
Sujet: [Spip-zone-commit] r12943 - in /_plugins_/_dev_/noisetier: ./ action/

Author: joseph@larmarange.net
Date: Sun Jun 17 15:30:42 2007
New Revision: 12943

Log:
Réorganisation des répertoires

Added:
   _plugins_/_dev_/noisetier/noisetier/
   _plugins_/_dev_/noisetier/noisetier/404.html
   _plugins_/_dev_/noisetier/noisetier/accueil.html
   _plugins_/_dev_/noisetier/noisetier/action/
   _plugins_/_dev_/noisetier/noisetier/action/noisetier_active.php
   _plugins_/_dev_/noisetier/noisetier/action/noisetier_ajout.php
   _plugins_/_dev_/noisetier/noisetier/action/noisetier_editer.php
   _plugins_/_dev_/noisetier/noisetier/action/noisetier_suppression.php
   _plugins_/_dev_/noisetier/noisetier/article.html
   _plugins_/_dev_/noisetier/noisetier/auteur.html
   _plugins_/_dev_/noisetier/noisetier/base/
   _plugins_/_dev_/noisetier/noisetier/base/noisetier.php
   _plugins_/_dev_/noisetier/noisetier/breve.html

[...]

un déplacement de dossier exécuté en supprimant puis re-créant le contenu,

http://trac.rezo.net/trac/spip-zone/changeset/12943
un déplacement de dossier exécuté en supprimant puis re-créant le contenu,
ce qui est mal. L'auteur a ensuite utilisé la commande de déplacement dans
http://trac.rezo.net/trac/spip-zone/changeset/12944 . Le problème, c'est
que lorsqu'un participant de la zone renomme pour la première fois son
dossier de projet, souvent il ne sait pas encore comment juste déplacer
avec SVN, et fait une suppression puis re-création.

Je rappelle que l'une des raisons de la création de SVN, c'est l'ajout
de la possibilité de renommage/déplacement, par rapport à CVS.

SVN (le gestionnaire de fichiers utilisé pour spip-zone) permet d'ajouter,
modifier, supprimer, copier, déplacer, des fichiers tout en gardant un
historique de chaque opération. Créer un nouveau fichier au lieu de
déplacer l'original supprime ces possibilités, et est dommageable tant
pournles utilisateurs (comparaison des versions, visionnage des branches)
que du serveur (au pire il y a doublement de la taille de stockage).
Une version d'un fichier est toujours conservée, même si il est supprimé
dans la dernière version (dite « head »), sauf manoeuvres barbares sur
la bdd interne de svn.

Cependant, cela permets de retrouver une ancienne version et, nous allons
le voir ensuite, de revenir sur la perte d'historique pour les
utilisateurs en réalisant une commande SVN de déplacement un peu plus
propre.

Je vais faire un exemple avec http://trac.rezo.net/trac/spip-zone/changeset/12943,
mais cela peut aussi être fait pour d'autres création ex-nihilo telles
que http://trac.rezo.net/trac/spip-zone/changeset/13006 ou
http://trac.rezo.net/trac/spip-zone/changeset/13032 .

Je recommande de faire une mise à jour du serveur (commende SVN « commit »)
à la fin de chaque étape ou toutes les deux étapes.

Je suppose qu'il y a déjà un dépot local SVN, avec un dossier
correspondant à _plugins_/_dev_/noisetier. Si ce n'est pas le cas voir
Connexion · GitLab .

http://trac.rezo.net/trac/spip-zone/changeset/12943 a pour but de déplacer
tout le contenue de http://trac.rezo.net/trac/spip-zone/browser/_plugins_/_dev_/noisetier
(ci-après « _plugins_/_dev_/noisetier ») dans _plugins_/_dev_/noisetier/noisetier,
sauf _plugins_/_dev_/noisetier/bibliotheques et _plugins_/_dev_/noisetier/themes .

- récupérer l'ancienne version (pré 12943)
  - crée un dossier/répertoire _plugins_/_dev_/noisetier-12942
  - tortoise empèche de faire un « merge » d'un dossier sur lui-même, donc
inutile d'essayer de créer un dossier _plugins_/_dev_/noisetier/noisetier-12942
  - ajouter ce dossier au dépot local, commande SVN « add » sur le dossier
  - récupération proprement dite de l'ancienne version (pré 12943), que je
choisit, pour être certain de ne rien perdre, 12942. Commande SVN « merge »
sur le dossier, avec tortoise choisir
    - From svn://zone.spip.org/spip-zone/_plugins_/_dev_/noisetier-12942 et head revision (1)
    - To svn://zone.spip.org/spip-zone/_plugins_/_dev_/noisetier et revision 12942
  - avec tortoise faire « dry run » pour tester, puis « merge »
  - vous pouvez voir mon essai http://trac.rezo.net/trac/spip-zone/changeset/12949
  - supprimer les dossiers _plugins_/_dev_/noisetier-12942/bibliotheques
et _plugins_/_dev_/noisetier-12942/themes que nous ne voulons pas conserver,
en exécutant la commande SVN « revert » sur eux, puis les supprimer une fois
sortis du dépots et transformés en dossiers normaux (2)

- récupérer les modifications de la branche modifiée (post 12943).
  - soit en refaisant manuellement les modificatinos des fichiers de
_dev_/noisetier-12942
  - soit en utilisant la commande SVN « merge »
    - From svn://zone.spip.org/spip-zone/_plugins_/_dev_/noisetier-12942 et head revision
    - To svn://zone.spip.org/spip-zone/_plugins_/_dev_/noisetier/noisetier et head revision

- supprimer la branche superflue, svn delete _plugins_/_dev_/noisetier/noisetier

- déplacer la branche récupérée et modifiée depuis _plugins_/_dev_/noisetier-12942
vers _plugins_/_dev_/noisetier/noisetier

- voilà, c'est fini. Si certaines étapes ne fonctionnement aps comme prévu,
n'oubliez pas que vous pouvez souvent faire un « dry run » avec tortoise,
et toujours utiliser la « Commit » (sans valider) pour voir les différeces
entre le dépot local et le dépot du serveur.

1 : extrait de l'aide anglaise de tortoise « In the From: field enter the
full folder url of the trunk. This may sound wrong, but remember that the
trunk is the start point to which you want to add the branch changes. »
2 : si on avait été en pré 12943, avant les modifications, il n'aurait
pas été possible de déplacer _plugins_/_dev_/noisetier/ dans
_plugins_/_dev_/noisetier/noisetier puisque/ doivent rester les deux
dossiers bibliotheques/ et themes/. Il aurait fallu d'abord créer
_plugins_/_dev_/noisetier/noisetier

http://trac.rezo.net/trac/spip-zone/changeset/13006 consiste en un
déplacement de _plugins_/_test_/tinymce_1_9_1 à
_plugins_/_stable_/tinymce/tinymce_1_9_1_et_plus plus de nombreuses
modifications de fichiers.

http://trac.rezo.net/trac/spip-zone/changeset/13032 ajoute simultanément
_plugins_/_dev_/spip-pmb/1_9_1 et _plugins_/_dev_/spip-pmb/1_9_2, alors
qu'il aurait fallu faire dériver la deuxième branche de la première si
elles sont mère et fille.