2008-09-20 24 views
60

que tienen una estructura SVN así:mover directorios con Historia

/Projects 
    /Project1 
    /Project2 
/someFolder 
    /Project3 
    /Project4 

me gustaría mover todos los proyectos en la carpeta/Proyectos, lo que significa que quiero mover Proyectos 3 y 4 desde/SomeFolder en la carpeta/projects.

La advertencia: me gustaría mantener el historial completo. Supongo que todos los clientes tendrían que revisar las cosas desde la nueva ubicación nuevamente, lo cual está bien, pero todavía me pregunto cuál es el enfoque más simple para mover directorios sin destruir por completo la historia.

Subversion 1.5 si eso es importante.

Respuesta

52
svn help rename 

Mover/cambiar el nombre en subversión mantiene el historial intacto.

2

Mover directorios en Subversion no destruye el historial, AFAIK.

4

Puede usar el comando svn copy. Mantiene tu historial. Simplemente tiene que anular la selección de la opción "Detener al copiar/cambiar el nombre" mientras muestra el registro (Ejemplo de Tortuga).

Tome una mirada más cercana a la subversión-libro svn copy

-3

Por lo que yo sé, sólo el Bazar permite mantener la historia en los directorios, particular los platos cuando se habla de directorios en movimiento. SVN le permite mantener el historial al mover archivos, pero no directorios.

+7

Directorios de pistas SVN y Bazaar. Mercurial, Git y CVS no. – Joshua

38
svn move SRC DST
$ svn move -m "Move a file" http://svn.red-bean.com/repos/foo.c http://svn.red-bean.com/repos/bar.c

SVN movimiento mantendrá su historia.

+0

También mucho más rápido si se hace directamente en el repositorio y actualiza copias de trabajo después, es lento para hacer el movimiento en una copia de trabajo – Sam

2

Para hacer eso, deberá usar las funciones específicas de mover/cambiar nombre de svn (consulte la ayuda de TortoiseSVN si usa esto, por ejemplo). Si mueve los archivos usted mismo y luego confirma los cambios, no estoy seguro de que se mantendrá el historial.

3

Arrástrelo con el navegador repo y vuelva a vincular su carpeta local a su servidor SVN.

4

Si mueve el Proyecto 3 a la carpeta del proyecto usando el comando svn move, se conservará el historial de la carpeta del Proyecto 3 pero curiosamente la carpeta Projects no mostrará el historial del Proyecto 3 que se creó antes de que se trasladara el Proyecto 3 Proyectos.

Me parece confuso, pensé una carpeta mostraría toda la historia por debajo de sí mismo en la jerarquía, pero parece que esto no es el caso (solo probado esto mismo)

7

Tortoise SVN apoya 'Haga clic derecho' movimiento. Cuando arrastre el archivo/directorio fuente al destino usando el "mouse haga clic derecho", aparecerá un menú contextual. Puede seleccionar la opción de menú apropiada para copiar/mover/mover-cambiar el nombre, etc. Esta opción también preservará el historial.

Nota: Hay una buena apariencia llamada 'Reparar movimiento' en Tortoise SVN: al usar esta función, puede cambiar el nombre del archivo/directorio cuando lo mueva. (Refiérase a Documentation para más detalles)

+1

Me pregunto por qué esta respuesta no tiene más votos ascendentes.Es mucho más fácil que retocar con la línea de comandos o el navegador repo para pequeños movimientos. – LWChris

+0

Yo personalmente uso Total Commander, y ahi echo de menos el movimiento del botón derecho. –

Cuestiones relacionadas