una - undo commit svn tortoise




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

"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)


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 .


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).





svn