una tutorial tortoise revertir regresar español descartar changes cambios borrar archivo anterior svn

tortoise - svn tutorial español



¿Cómo volver a una versión anterior de un archivo sin borrar sus revisiones posteriores? (7)

"No quiero usar" svn update -r 2 A.txt "porque esto eliminará todas las revisiones después de r2, es decir, r3 y r4."

Uh ... no lo hará, en realidad. Pruébalo: haz una actualización regular de svn después de -r 2 one y verás la copia de trabajo actualizada de nuevo a r4.

Tengo 4 versiones del archivo A.txt en mi repositorio de subversión, por ejemplo: A.txt.r1, A.txt.r2, A.txt.r3 y A.txt.r4. Mi copia de trabajo del archivo es r4 y quiero volver a r2. No quiero usar " svn update -r 2 A.txt " porque esto eliminará todas las revisiones después de r2, es decir, r3 y r4.

Entonces, ¿hay alguna forma de actualizar mi copia de trabajo a r2 y aún tener la opción de cambiar a r3 y r4 más tarde? Dicho de otra manera, aún quiero poder ver las 4 revisiones usando " svn log A.txt " después de hacer la actualización.


El comando svn up -r 4 solo actualiza su copia local a la revisión 4.

El servidor todavía tiene todas las versiones 1 a lo que sea.

Lo que quiere hacer es crear una nueva revisión, revisión número 5, que es idéntica a la revisión número 2.

cd /repo svn up -r 2 cp /repo/file /tmp/file_2 svn up -r 4 cp /tmp/file_2 /repo/file svn commit -m "Making 5 from 2"

Si alguna vez cambia de opinión y quiere 4 de vuelta, puede hacerlo creando la revisión 6 de la revisión 4.

cd /repo svn up -r 4 cp /repo/file /tmp/file_4 svn up -r 5 cp /tmp/file_4 /repo/file svn commit -m "Making 6 from 4"

Feliz piratería.

(Por supuesto, hay una manera de hacer lo anterior en solo 2 comandos, creo, pero ha pasado un tiempo desde que lo hice y puede ser un poco confuso)


La actualización no eliminará ninguna revisión en el servidor. Los únicos cambios que realiza son en su copia de trabajo local:

Comando de actualización SVN

"trae cambios del repositorio en su copia de trabajo"

"sincroniza la copia de trabajo con la revisión dada por el parámetro --revision"


No tengo mucha experiencia con Subversion, así que discúlpeme si este método no funciona en este entorno.

En esta situación, sigo estos pasos:

  1. Mira el archivo en cuestión, listo para editar como r4
  2. Sobrescriba su copia local del archivo con la revisión que necesita, en este caso r2
  3. Compruebe / confirme esta "nueva" revisión del archivo como r5 con un comentario apropiado

De esta forma, cuando revises tu historial de archivos, verás algo como:

  • r1
  • r2
  • r3
  • r4
  • r5 (comentario: "revertido a contenido r2")

Para hacer una nueva revisión de A.txt que sea igual a la revisión 2:

svn up -r HEAD svn merge -r HEAD:2 A.txt svn commit

También vea la descripción en Deshacer cambios .


la actualización a una versión anterior no eliminará las nuevas versiones.

entonces puedes hacer svn up -r2 file , luego svn up -r4 file .

Además, no sería posible enviar el archivo r2 de esta manera, porque tendrías que actualizar antes de cometer, y terminarías con r4 nuevamente.


svn update -r 2 A.txt

Este comando no eliminará ninguna versión en el repositorio. Establecerá su copia de trabajo de A.txt para ser la revisión 2. Puede ver esto haciendo

> svn status -u A.txt * 2 A.txt

La salida de este comando muestra que está viendo la versión 2 y que hay actualizaciones (esa es la *).

Después de hacer esta actualización, aún podrá hacer " svn log " y ver todas las revisiones.

Al ejecutar " svn update A.txt " volverá a la última versión (en su caso, r4).