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:
"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:
- Mira el archivo en cuestión, listo para editar como r4
- Sobrescriba su copia local del archivo con la revisión que necesita, en este caso r2
- 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).