¿Cómo se mueve un archivo en SVN?


Estoy usando TortoiseSVN contra el repositorio SVN de SourceForge. Me gustaría mover un archivo de una carpeta a otra para mantener su historial de revisiones. Es esto posible? Si es así, ¿cómo lo haces?

(Mi estrategia actual ha sido copiar el archivo en la nueva carpeta y registrarlo y luego eliminar el archivo de la carpeta actual.)

Author: Guy, 2008-09-05

12 answers

Subversion tiene soporte nativo para mover archivos.

svn move SOURCE DESTINATION

Consulte la ayuda en línea (svn help move) para obtener más información.

 86
Author: Commodore Jaeger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 15:46:55

Echa un vistazo a la sección 5.14.2. Mover archivos y carpetas (o echa un vistazo a "mover" en el Índice de la ayuda) de la ayuda de TortoiseSVN. Haces un movimiento arrastrando con el botón derecho. También menciona que necesita confirmar desde la carpeta padre para que sea una revisión "única". Esto funciona para hacer el cambio en una copia de trabajo.

(Tenga en cuenta que los elementos SVN en la siguiente imagen solo se mostrarán si la carpeta de destino ya se ha agregado a la repositorio.)

menú mover tortuga

También puede hacer el movimiento a través del navegador Repo (sección 5.23. El Navegador del Repositorio de la ayuda).

 293
Author: crashmstr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-25 17:59:15

Con TortoiseSVN simplemente muevo el archivo en el disco.

Cuando vengo a confirmar mis cambios, selecciono el archivo que falta y el nuevo y selecciono " Repair move " desde el menú contextual:

introduzca la descripción de la imagen aquí

Esto significa que puedo dejar que mi IDE mueva archivos redondos y usarlo como herramientas de refactorización sin perder el historial.

 70
Author: Keith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-16 08:44:29

En TortoiseSVN haga clic con el botón derecho en algún lugar y vaya TortoiseSVN > Repo Browser abra el repositorio.

Todo lo que tiene que hacer es arrastrar y soltar el archivo desde una carpeta hasta donde lo desee. Te pedirá que agregues un mensaje de confirmación y el valor predeterminado es "Moved file/folder remotamente"

 32
Author: RedWolves,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 15:51:47

Usando TortoiseSVN simplemente hago clic derecho y arrastro la carpeta de una ubicación a otra. Cuando suelte el clic derecho, tendrá la opción de "SVN Mover archivo de versión."Sin embargo, creo que SVN no hace nada" elegante " allí, sino que simplemente elimina el archivo en la ubicación anterior y lo agrega a la nueva ubicación.

 18
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 15:49:42

Para el cliente TortoiseSVN:

  1. Seleccione los archivos que desea mover,
  2. Haga clic y arrastre los archivos a la carpeta a la que desea moverlos,
  3. Una ventana emergente después de soltar el arrastrar y soltar en una carpeta. Haga clic en "SVN Mover elemento(s) versionado (s) aquí",
  4. Después de hacer clic en el cuadro de mensaje de la ventana de confirmación aparecerá. Introduce un mensaje y envíalo.

Ahora has terminado.

 16
Author: Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-06 13:15:57

Corte el archivo a través del menú contextual del sistema operativo como lo hace normalmente, luego en lugar de hacer pegado regular, haga clic con el botón derecho para traer el menú contextual, luego elija TortoiseSVN -> Paste (asegúrese de confirmar desde la raíz para incluir tanto los archivos antiguos como los nuevos en la confirmación).

 7
Author: BornToCode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-04 09:25:16

Ya que está usando Tortoise, es posible que desee revisar este enlace en LosTechies. Debería ser casi exactamente lo que estás buscando.

Http://www.lostechies.com/blogs/joshua_lockwood/archive/2007/09/12/subversion-tip-of-the-day-moving-files.aspx

 4
Author: Ryan Lanciaux,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 15:50:10

Creo que en el navegador svn en tortoisesvn puede simplemente arrastrarlo de un lugar a otro.

 3
Author: John Boker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 15:47:15

También se puede llamar, "rename" por tortoise, pero svn move, es el comando en el cliente svn de barebones.

 1
Author: DevelopingChris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 15:48:20

Si no me equivoco a partir de la versión 1.5 SVN puede rastrear archivos\carpetas movidos. En TortoiseSVN use puede mover el archivo mediante arrastrar y soltar.

 0
Author: aku,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-05 15:48:13

Si está moviendo carpetas a través del Navegador del repositorio, entonces no hay opción de Mover al hacer clic con el botón derecho; la única manera es arrastrar y soltar.

 0
Author: Danijel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-12 14:54:43