[NB: Cette question vient du dos, mais est distincte/à la suite d'une question précédente, ici .]
J'utilise Drush depuis un bon moment, mais de temps en temps je suis perplexe. Pour le moment, je ne sais vraiment pas comment procéder.
Scénario: actuellement, le site utilise une version de développement, datée dans le passé. En attendant, aucune version ponctuelle n'a été créée, mais une nouvelle version de développement l'a été. Nous avons donc quelque chose comme:
Reroute Email 6.x-1.x-dev (2010-Sep-27)
Recommended version: 6.x-1.0 (2008-Jul-24)
Development version: 6.x-1.x-dev (2011-Feb-25)
Faire drush dl <module>-6.x-1.x-dev
écrase le répertoire existant avec la dernière version de dev 1.x. C'est bien, mais cela supprime le dossier .svn.
Si je fais drush upc <module>
, il téléchargera la version ponctuelle (voir la modification ci-dessous), ce que je ne veux pas, mais si je le fais drush upc <module>-6.x-1.x-dev
, il actualise simplement les données de mise à jour et m'indique ensuite "Version spécifiée déjà installée" sur la ligne appropriée de la sortie.
Alors, comment puis-je utiliser drush pour écraser l'ancienne version de développement, obtenir la nouvelle à sa place, sans jeter le dossier SVN?
EDIT: En fait, dans ce cas, drush upc <module>
télécharge la version correcte, mais je suis presque sûr que si la version de point était datée comme 6.x-1.0 (2011-Jan-24), elle l'aurait obtenue. Quelqu'un veut-il clarifier/corriger?
J'ai trouvé votre question tout à l'heure parce que j'avais exactement la même question. Je n'ai pas trouvé de réponse exacte, mais cela a fonctionné pour moi:
#svn rm <module>
#svn commit -m"removing the module... whatever you want to write"
#drush dl <module>-6.x-2.x-dev
#svn add <module>
Pour une raison quelconque, ne pas faire la validation entre le rm et le dl a causé un problème avec svn. Je ne sais pas assez sur svn pour savoir pourquoi, mais je serais reconnaissant si quelqu'un pouvait élaborer!
Essayez drush dl module-6.x-1.x-dev --svnsync
.
Il peut y avoir des tâches d'installation dont la nouvelle version d'un module a besoin pour fonctionner correctement, par exemple si la version de développement a un schéma différent.
Donc avant drush dl module-7.x.2.x
jetez un œil aux détails de désinstallation et d'installation dans le module.
Attention si vous avez des données que vous ne voulez pas perdre dans les tables db concernées. Faites une sauvegarde si vous êtes inquiet ou incertain.
Si vous en avez besoin, désactivez et désinstallez le module avant téléchargement et activation du nouveau module.
Utilisez drush dis puis drush pm-uninstall