Actualización a una nueva versión de desarrollo de un módulo usando Drush (ignorando el punto / versiones recomendadas, sin el control de versiones de la papelera)


20

[Nota: esta pregunta está fuera de la parte posterior, pero separada / más allá de una pregunta anterior mía aquí ]

He estado usando Drush bastante tiempo, pero de vez en cuando me quedo perplejo. Por el momento, realmente no estoy seguro de cómo hacerlo.

Escenario: actualmente, el sitio utiliza una versión de desarrollo, fechada en el pasado. Mientras tanto, no se ha creado ninguna versión puntual, pero sí una versión de desarrollo más reciente. Entonces tenemos algo como:

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) 

Hacer drush dl <module>-6.x-1.x-devsobrescribe el directorio existente con la última versión 1.x dev. Eso está bien, pero destruye la carpeta .svn.

Si lo hago drush upc <module>, descargará el lanzamiento de punto (ver edición a continuación), que no quiero, pero si lo hago drush upc <module>-6.x-1.x-dev, solo actualiza los datos de actualización y luego me dice "Versión especificada ya instalada" en la línea correspondiente en el salida.

Entonces, ¿cómo uso drush para sobrescribir la versión anterior del desarrollador, obteniendo la nueva en su lugar, sin destruir la carpeta SVN?

EDITAR: En realidad, en este caso, drush upc <module>descarga la versión correcta, pero estoy bastante seguro de que si el lanzamiento puntual fue fechado como 6.x-1.0 (2011-Jan-24) habría obtenido esa. ¿Alguien quiere aclarar / corregir?

Respuestas:


9

Encontré su pregunta justo ahora porque tenía exactamente la misma pregunta. No encontré una respuesta exacta, pero esto funcionó para mí:

#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>  

Por alguna razón, no hacer el commit entre el rm y el dl causó un problema con svn. No sé lo suficiente sobre svn para saber por qué, ¡pero estaría agradecido si alguien pudiera dar más detalles!


Hola @rainbreaw, ¿quizás la respuesta a mi otra Q aquí podría ser útil?
NikLP


2

Puede haber algunas tareas de instalación que la nueva versión de un módulo necesita para funcionar correctamente, por ejemplo, si la versión de desarrollo tiene un esquema diferente.

Entonces, antes de drush dl module-7.x.2.x echar un vistazo a los detalles de desinstalación e instalación en el módulo.

Tenga cuidado si tiene datos que no desea perder en las tablas db involucradas. Haga una copia de seguridad si está preocupado o inseguro.

Si es necesario, deshabilite y desinstale el módulo antes de descargar y habilitar el nuevo módulo.

Use drush dis y luego drush pm-uninstall


1
La desinstalación del módulo también puede descartar todos los datos que ha guardado en la base de datos. ¿No se supone que el script update.php maneja los cambios de esquema de una versión a otra?
Tony Patrinos el

Ese es un buen punto, enmendaré mi respuesta
chim
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.