¿Cómo mueves un archivo?

219

Estoy usando TortoiseSVN contra el repositorio SourceForge SVN. Me gustaría mover un archivo de una carpeta a otra para mantener su historial de revisiones. es posible? Si es así, como 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).

Chico
fuente

Respuestas:

95

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.

El comodoro Jaeger
fuente
U otra forma de decirlo: svn move <current path/filename> <destination path/filename>
Joe
313

Consulte la sección 5.14.2. Mover archivos y carpetas (o ver "mover" en el índice de la ayuda) de la ayuda de TortoiseSVN. Haces un movimiento arrastrando hacia la derecha. También menciona que necesita confirmar desde la carpeta principal para que sea "una" revisión. Esto funciona para hacer el cambio en una copia de trabajo.

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

menú de movimiento de tortuga

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

crashmstr
fuente
Cuando resalté todos mis archivos, arrastrados a la derecha, apareció el menú normal del explorador de Windows. Me permitió seleccionar "mover", pero no era una opción SVN, así que no estoy seguro de que haya pasado nada. Cuando revisé para ver si había modificaciones, dijo que 300 archivos fueron eliminados y 300 no estaban versionados. Esto no parece funcionar correctamente. Tengo miedo de cometerlo sin saber si esta es la forma en que se supone que funciona o no
Joe Phillips
48
Me acabo de dar cuenta de que probablemente no funcionó porque todavía no había agregado / comprometido el nuevo directorio
Joe Phillips
Sé que esto es años después, pero el comentario de Joe es importante. Luché con esto también: pasé por alto esa pequeña nota en la respuesta. La carpeta de destino debe estar bajo control SVN, de lo contrario, esto no funcionará. Afortunadamente, SVN permite agregar carpetas vacías. Después de colocar la carpeta bajo el control SVN, el arrastre con el botón derecho del mouse funcionará como se describió anteriormente. De lo contrario, se presenta el menú genérico de Windows "Copiar aquí / mover aquí / cancelar" (es decir, faltan opciones SVN).
ripvlan
Esto fue perfecto. Tuve algunos problemas al mover más de 1,500 archivos de una vez. Sin embargo, moverlos un directorio a la vez parecía eliminar este problema.
Michael Murphy
80

Con TortoiseSVN solo muevo el archivo en el disco.

Cuando vengo a confirmar mis cambios, selecciono el archivo que falta y el nuevo y selecciono " Reparar movimiento " en el menú del botón derecho:

ingrese la descripción de la imagen aquí

Esto significa que puedo dejar que mi IDE mueva archivos y usarlo para refactorizar herramientas sin perder el historial.

Keith
fuente
3
Esta es mi forma preferida de mover los archivos ahora. Una advertencia; solo haga <20 archivos a la vez entre confirmaciones; de lo contrario, puede llevar mucho tiempo encontrar los archivos que se relacionan entre sí.
DarrenMB
@DarrenMB tiene razón: estoy a punto de migrar un proyecto de Android de Eclipse a Android Studio. Todos los archivos tienen que ser movidos. Este enfoque no es el que quiero usar aquí.
Bondax
@Bondax sí, para migraciones de proyectos enteros, es mejor que hagas el movimiento desde SVN, eso debería ser algo que haces muy ocasionalmente. Encontré que esta es la mejor manera para la mayoría de los movimientos de archivos realizados por la mayoría de los desarrolladores durante un proyecto.
Keith
1
Tampoco tengo Move Move, usando tortuga SVN 1.9.4
Mark Patterson
@ Mark Patterson: veo la opción y también estoy en 1.9.4 (TortoiseSVN 1.9.4, Build 27285 y Subversion 1.9.4, -release). No creo que su problema esté relacionado con la versión ... Aquí está la documentación oficial de esta función: tortoisesvn.net/repairmoves.html
Yosko
37

En TortoiseSVN, haga clic derecho en alguna parte y vaya a TortoiseSVN> Repo Browser para abrir el repositorio.

Todo lo que tiene que hacer es arrastrar y soltar el archivo desde una carpeta hasta donde lo desee. Le pedirá que agregue un mensaje de confirmación y lo predetermina a "Archivo / carpeta movido de forma remota"

Lobos rojos
fuente
22

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


fuente
18

Para el cliente TortoiseSVN:

  1. Seleccione los archivos que desea mover,
  2. Haga clic derecho y arrastre los archivos a la carpeta a la que desea moverlos,
  3. Aparecerá una ventana emergente después de soltar el arrastrar y soltar en una carpeta. Haga clic en "SVN Mover elementos versionados aquí" ,
  4. Después de hacer clic en lo anterior, aparecerá el cuadro de mensaje de la ventana de confirmación. Ingrese un mensaje y envíelo.

Ahora ya terminaste.

Martín
fuente
8

Corte el archivo a través del menú contextual del sistema operativo como lo hace normalmente, luego, en lugar de pegar regularmente, haga clic con el botón derecho para abrir 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).

BornToCode
fuente
4

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

John Boker
fuente
1

Si no me equivoco a partir de la versión 1.5, SVN puede rastrear archivos \ carpetas movidos. En TortoiseSVN, el uso puede mover archivos arrastrando y soltando.

aku
fuente
1

También puede llamarse "renombrar" por tortuga, pero svn move es el comando en el cliente svn barebones.

En desarrolloChris
fuente
¡La respuesta más simple y precisa es esa! El uso de los archivos móviles TortoiseSVN se realiza con el botón derecho> cambiar nombre. Eso es.
RoeeK
1

Transfiriendo un archivo usando TortoiseSVN:

Paso: 1 Seleccione los archivos que desea mover, haga clic derecho y arrastre los archivos a la carpeta a la que desea moverlos, aparecerá una ventana emergente después de seguir las instrucciones a continuación

Opción SVN

Paso 2: después de hacer clic en el anterior, confirme el archivo como se menciona a continuación

SVN Commit

Anzar Ansari
fuente
0

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

Danijel
fuente