Bien, esto me ha estado rompiendo por dos días. ¡No puedo obtener una respuesta en ningún lado!
Tengo drush 4.4 en mi servidor. Estoy usando SVN a través de Unfuddle.com. Tengo un sitio, quiero actualizar muchos módulos. Quiero actualizar solo el código, luego verificar que esté funcionando (las actualizaciones de la base de datos no son una preocupación en este momento) y luego confirmar el código relevante.
Solía ser que drush dl simplemente descargaría el código del módulo sobre la parte superior del módulo anterior, sin eliminarlo. Ese ya no es el caso. Ahora, AFAICT, drush elimina el directorio del módulo y lo reemplaza con la versión más nueva. Eso está muy bien, porque resuelve el problema de los archivos antiguos que ya no están en el módulo actualizado que se queda atrás.
Sin embargo, al usar los comandos drush dl o upc, estoy atascado, porque ejecutar estos comandos realmente obtiene la versión más nueva, pero destruye la carpeta de datos SVN en el proceso, dejándome con problemas "! Module / file.php" en todas partes para archivos que ya no están allí.
Me han informado que "drush upc / dl modulename --version-control = svn" debería funcionar, pero no funciona. Los datos SVN aún se destruyen.
Esto me deja con la pesadilla potencial de tener que: svn del module, svn commit -m "Módulo eliminado", módulo drush dl, (prueba el módulo), svn add module, svn commit -m "Módulo agregado" - para cada uno módulo, que es un horror total.
No quiero configurar drush para confirmar automáticamente mis cambios, solo quiero descargarlos y confirmarlos todos manualmente al final cuando estoy satisfecho con los cambios. Esto no puede ser tan difícil, pero simplemente no puedo hacer que funcione.
También me han informado que pasar a git (sí, ¡sé que unuddle admite git!) También es una solución, pero no es inmediata y no es satisfactoria en este momento.
¿Alguien puede arrojar algo de luz sobre esto?
fuente
Respuestas:
Estoy ejecutando Drush 4.4 y este no parece ser el caso para mí. Ejecuta
drush upc
odrush up
mantiene sus.svn
directorios intactos. Puedesvn status
revisar los cambios en los módulos. Los archivos nuevos se indican mediante?
y los archivos eliminados se indican mediante!
.Prueba la funcionalidad de tu sitio. Una vez que esté satisfecho de que los módulos siguen funcionando correctamente, puede svn agregar / quitar con un fragmento como el siguiente:
añadir:
eliminar:
fuente
Debe agregar
--svnsync
a su comando.Ejemplo:
fuente