volver tortoise tag subversion revertir desvincular changes carpeta anterior svn undo cherry-pick

tortoise - svn volver a revision anterior



Deshacer revisiones específicas en Subversion (3)

Supongo que podrías crear una rama desde la revisión 117, luego fusionar todo excepto 118 y 120.

svn copy -r 117 source destination

A continuación, ingrese a esta sucursal y desde allí haga svnmerge.py merge -r119,120-123

EDITAR: Esto no deshace las revisiones en la bifurcación / tronco. Use svn merge lugar.

Supongamos que tengo un conjunto de confirmaciones en una carpeta de repositorio ...

123 (250 new files, 137 changed files, 14 deleted files) 122 (150 changed files) 121 (renamed folder) 120 (90 changed files) 119 (115 changed files, 14 deleted files, 12 added files) 118 (113 changed files) 117 (10 changed files)

Deseo obtener una copia de trabajo que incluya todos los cambios de la revisión 117 en adelante pero NO incluya los cambios para las revisiones 118 y 120.

EDITAR: Para hacer que el problema sea más claro, quiero deshacer los cambios que se hicieron en 118 y 120 conservando todos los demás cambios. La carpeta contiene miles de archivos en cientos de subcarpetas.

¿Cuál es la mejor manera de lograr esto?

La respuesta , gracias a Bruno y Bert, es el comando (en este caso, para eliminar 120 después de que se realizó la fusión completa)

svn merge -c -120 .

Tenga en cuenta que el número de revisión se debe especificar con un menos adelantado. ''-120'' no ''120''


Para deshacer las revisiones 118 y 120:

svn up -r HEAD # get latest revision svn merge -c -120 . # undo revision 120 svn merge -c -118 . # undo revision 118 svn commit # after solving problems (if any)

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

Tenga en cuenta el menos en el argumento -c -120 . El --change -c (o --change ) es compatible desde Subversion 1.4, las versiones anteriores pueden usar -r 120:119 .


Hay una manera más directa si usa TortoiseSVN, un cliente de Windows para Subversion. Simplemente haga clic para ver el registro en su copia de trabajo actualizada, seleccione las revisiones que desea deshacer, haga clic derecho y seleccione "Revertir cambios de estas revisiones".

Es una operación segura porque los cambios se aplican solo en su área de trabajo. Aún debe comprometerse a modificar su repositorio.

Es una de las mejores características de TortoiseSVN. Siempre he sido un tipo de línea de comando, pero Tortoise cambió de opinión.