2012-01-05 11 views
6

Escenario: estructura del repositorio cambió de /trunk/ a /projectName/trunk/ y la copia local no está actualizado y tiene una gran cantidad de modificaciones.Interruptor directorio local de trabajo sin actualizar

Pregunta: ¿Cómo puedo actualizar la ruta del directorio de copia de trabajo sin actualizar los archivos.

Normalmente, la solución para los cambios de directorio dentro del mismo repositorio sería usar el svn switch comando. El problema es que realiza una actualización tras la ejecución, la copia de trabajo está desactualizada y tiene muchas modificaciones locales que entrarían en conflicto con la revisión actual.

Lo que estoy buscando es el mismo comportamiento que el --relocate, que actualiza la ruta pero no actualiza los archivos. De esta forma puedo recuperar la capacidad de verificar los estados y las diferencias para cada archivo por separado mientras mantengo la copia local funcional (esta es mi principal preocupación).

El conmutador --ayuda proporciona algunos argumentos para tratar los conflictos, pero no pude encontrar nada que detuviera por completo la actualización.

¿Alguna idea? Muchas gracias.

+0

Usted tendrá que hacer frente a los conflictos en algún momento. Y cuanto más espere, más conflictos tendrá y más difícil será resolverlos. Cambiaría lo antes posible. –

+0

Acepto, el problema con este escenario particular es que utilizamos los archivos en el repositorio como una aplicación de modelo que se replica con cambios locales en varias ubicaciones. El cambio de estructura en el repositorio afecta todas las ubicaciones, por lo tanto, la necesidad de minimizar los conflictos. – Lando

Respuesta

9

La solución para este caso en particular fue más simple de lo que pensé.

svn switch realiza una actualización a la versión más reciente en el repositorio por defecto, especificando la revisión BASE (última revisión obtenida desde el repositorio) de la copia de trabajo dada la mayor parte de los archivos intactos.

Recibí la revisión BASE de mi copia de trabajo (294) al emitir el comando svn info.

Luego, al emitir el comando de cambio con la revisión BASE se actualizó la ruta del repositorio dejando intactos la mayoría de los archivos.

svn switch -r 294 /projectName/trunk/

+1

Este enfoque no dejó intactos mis archivos. En realidad, cambió a esa ubicación y actualizó mi espacio de trabajo con cualquier revisión y ubicación específica que tenga – supertonsky

Cuestiones relacionadas