je me pose une petit question, à chaque changement de version de spip je trouve qu'il n'est pas très simple de changer de version (peur d'effacer des fichiers qu'il ne faut pas, besoin de savoir quels fichiers effacer, besoin de connaitre précisément ce qui à bouger comme fichier ou les changement d'arbo) Il est vrai que je peux presque tout supprimer et tout remettre mais c'est le presque qui change tout (dossier IMG, mes_options dans ecrire, ancien inc_connect, etc)
J'en arrive à ma question maintenant que l'on dispose d'un installateur de plugin automatique dans l'admin, ne serait il pas possible comme dans dotclear (pour les mise à jour mineur au moins) de proposer celle ci sous forme de plugin à télécharger. Sinon ne serait il pas possible d'avoir systématiquement des packages zip avec juste les fichiers modifiés d'une version à l'autre (en espérant que l'arbo n'est pas trop bougée)
Je rebondis sur cette idée d'Aurelien,
car, avec le rythme 'soutenu' (pour la bonne cause)
de releases de la v2, le problème se pose de multiples fois...
Comment je procède (ce que j'ai trouvé de plus efficace ;-),
sachant que les erreurs de transferts FTP (chez Free par exemple... )
sont souvent à l'origine de difficultés signalées sur la liste :
- je prends les deux ZIP des deux versions, d'origine et à installer,
- je fais un compare binaire des deux jeux de fichiers,
(ignorant la date / mais par contenu !!attention!!NotaBene!!)
- et j'efface tout ce qui est pareil !
=> j'en deduis uen archive différentielle
Sauf si j'ai apercu des fichiers 'uniques' dans l'ancienne version,
je recharge juste les fichiers restants par FTP sur l'ancienne install.
C'est la formule que j'ai mis en oeuvre depuis les v1.9.x.....
qui a été battue en breche par le passage à la V2 et ses disparitions de fichiers ; mais j'ai effectivement un outil intégré à mon gestionnaire de fichiers, qui me facilite les comparaisons d'archives et le FTP.
* ma suggestion : pourrait-on rajouter cette archive différentielle aux téléchargements ?
* autre piste (cf.Aurelien) : le CS applique deja un principe opérationnel en ce sens (bien necessaire aussi, du fait des releases tres frequentes...).
=> a généraliser ? (merci Pat !)
Yx
N.Bene: je precise de travailler sur le contenu,
car effectuant cette manipulation tout a l'heure,
selon la méthode exacte utilisée, il m'est arrivé de trouver
des fichiers différents en contenu, mais de la meme date/heure.
- je prends les deux ZIP des deux versions, d'origine et à installer,
- je fais un compare binaire des deux jeux de fichiers,
si quelqu'un trouve la bonne commande svn qui permet de faire un
zip/tar des fichiers impactés entre deux révisions, je veux bien
regarder ce que l'on peut faire sur la branche 2.0 .
pour sortir la liste des fichiers impactes c'est un truc du type :
svn diff --summarize -r 9085:13615 svn://zone.spip.org/spip/branches/spip-2.0
il y a moyen de produire un fichier XML aussi avec --xml en plus
les détails sur http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.ref.svn.c.diff
après il faut parser le résultat de la commande mais le probleme reste
le meme il faut effacer les fichiers qui ont disparus, ...
il y a eu des recherche là dessus sur la zone
le pb est que la plupart de ces scripts ne sont pas simples à utiliser
sur windows
autre piste produire un diff et l'appliquer avec une commande de type
patch. (il y a un pb avec les retours chariots (dixit une bete
recherche ggle avec patch sur windows )
-----Message d'origine-----
De : Arnaud Ventre [mailto:ventrea@gmail.com]
Envoyé : lundi 19 janvier 2009 23:13
À : Ben. .
Cc : spip-dev@rezo.net; YannX
Objet : Re: [spip-dev] faciliter le changement de version de spip
le pb est que la plupart de ces scripts ne sont pas simples à utiliser
sur windows
autre piste produire un diff et l'appliquer avec une commande de type
patch. (il y a un pb avec les retours chariots (dixit une bete
recherche ggle avec patch sur windows )
J'aime bien la solution avec un svn diff et patch qui va aussi détecter les modifications locales pour ceux qui modifient spip sans utiliser subversion.
Sous windows, il y a cygwin ou bien gnuwin32 (Patch for Windows).
Donc ce n'est pas forcément un problème d'utiliser la commande patch.
Pour générer un diff, il suffit d'avoir installé subversion. Donc là encore, ce n'est pas un réel problème sous Windows.
Pour les problèmes de CR/LF, il faudrait comprendre dans quel cas ils se produiraient et si cela affecte le cas de la mise à jour de Spip.
Une bonne solution pour la mise à jour d'un site SPIP (en ignorant les plugins et les incompatibilités éventuelles au niveau du squelette):
- générer le fichier de patch de la version X vers la version Y et d'être capable de l'appliquer sur une installation SPIP avec patch
- avoir un patch écrit en PHP résoudrait le problème de 100% de la population d'utilisateurs à condition d'avoir le bon fichier de patch (correspondant à la révision source)
=> avoir un serveur de patch qui génère à la volée le patch via subversion et cache les patchs déjà générés serait un moyen optimal d'intégrer cette fonction dans Spip.
- ne pas avoir de patch en PHP forcerait à installer un programme patch pour la plateforme (Patch for Windows) afin de bénéficier de la fonction.
Les points à voir:
- problèmes de CR/LF ?
- quoi faire si fichiers modifiés par utilisateur entre-temps et modifications conflictuelles (cas rare) ?
=> à mon avis, ne surtout rien faire et prévenir l'utilisateur que cela a échoué, implique de faire un "patch -dry-run" avant de lancer le vrai patch.
- Proposer de télécharger gnuwin32 patch si pas de programme patch installé sous Windows ?