Necesito reemplazar un directorio en mi repositorio SVN en el servidor de producción, pero no estoy seguro de la forma correcta de hacerlo sin romper nada. El directorio que se reemplaza es una revisión de un módulo de terceros que se ha reestructurado por completo, por lo que para poder realizar una actualización limpia, necesito eliminar el directorio o los archivos antiguos y reemplazarlos con el nuevo directorio y los archivos. Cuando hago esto (usando svn delete) la copia de trabajo se obstruye o en un estado que me impide confirmar o agregar el nuevo directorio no versionado a la copia de trabajo. He intentado svn update, svn cleanup, así como otros accesos directos de reparación de UI (TortoiseSVN y Cornerstone), pero parece que no puedo volver a sincronizar las cosas, es decir, sin retroceder a una revisión previa o revisar una nueva copia.Cómo reemplazar un directorio en un repositorio SVN sin romper nada
Creo que el directorio de destino tanto en la copia de trabajo local como en el repositorio remoto debe ser eliminado, la copia de trabajo actualizada, el nuevo directorio agregado a la copia de trabajo y luego confirmado en el repositorio; pero no estoy seguro de los detalles o de los pasos o sutilezas que me faltan. El módulo que estoy actualizando es bastante vital para la aplicación del sitio, por lo que debo hacerlo bien la primera vez, ya que esto se realiza en el servidor de producción, y debe hacerse rápidamente. Si alguien pudiera trazar los pasos claramente, realmente lo apreciaría.
Gracias por el consejo, fue muy útil. De hecho, terminé con un flujo de trabajo revisado donde tuve que realizar mis compromisos para la producción desde una conexión de escritorio remoto a un servidor Win2K3, usando TortoiseSVN. TortoiseSVN tiene su propia versión empaquetada de SVN que tiene su propia implementación de línea de comando y sintaxis para automatización de scripting. Estar atrapado con sólo los comandos del menú contextual, me pareció más fácil de localizar la actualización por: 1. cd 2. eliminar contenido del directorio de destino raíz 3. SVN 4. copia los nuevos archivos de módulo/directorios 5. svn add 6. svn commit ¡Éxito! –
davmorr
No veo una razón por la que esto deba hacerse en 2 commits. Puede hacer esto en su copia de trabajo y confirmarlo como una operación única. SVN siempre lo verá como "eliminar" s + "agregar" s de todos modos, excepto para los archivos con el mismo nombre, los seleccionará como "reemplazados". – MarioDS