oxygen for connectors eclipse svn subclipse subversive

for - Revertir los malos cambios con svn en Eclipse



svn connector eclipse oxygen (7)

Digamos que he cometido algunos cambios malos en el repositorio de Subversion. Luego, realizo buenos cambios, que deseo mantener.

¿Cuál sería la forma más fácil de revertir esos malos cambios en Eclipse y conservar los buenos cambios? Suponiendo que los archivos relacionados con los malos cambios no son los mismos que los relacionados con los buenos cambios. ¿Cómo cambian las cosas si se hicieron buenos cambios en los mismos archivos que en los malos?

Casi siempre busco la manera de hacerlo a través de los complementos de Eclipse (Subclipse o Subversivo), pero los comandos de línea de comandos también son interesantes.


El svnbook tiene una sección sobre cómo Subversion le permite revertir los cambios de una revisión en particular sin afectar los cambios que ocurrieron en revisiones posteriores:

http://svnbook.red-bean.com/en/1.4/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo

No uso mucho Eclipse, pero en TortoiseSVN puedes hacerlo desde el diálogo de registro; simplemente haga clic derecho en la revisión que desea revertir y seleccione "Revertir cambios de esta revisión".

En el caso de que los archivos para los que desea revertir "cambios incorrectos" hayan tenido "buenos cambios" en las revisiones posteriores, el proceso es el mismo. Los cambios de la revisión "incorrecta" se revertirán dejando intactos los cambios de las revisiones "buenas", sin embargo, es posible que se generen conflictos.


En Eclipse Ganimedes (Subclipse)

Seleccione el proyecto / archivo que contiene un mal cambio, y desde el menú emergente elija:

Equipo -> Mostrar historial

Las revisiones relacionadas con ese proyecto / archivo se mostrarán en la pestaña Historial.

Busque la revisión donde se cometieron los "cambios incorrectos" y, en el menú emergente, elija:

Revertir cambios de la revisión X

Esto fusionará los cambios en los archivos modificados dentro de la mala revisión, con la revisión anterior a la mala revisión.

Hay dos escenarios desde aquí:

  1. Si no realizó ningún cambio para ese archivo (la revisión incorrecta es la última revisión de ese archivo), simplemente eliminará los cambios realizados en la revisión incorrecta. Esos cambios se combinan con su copia de trabajo, por lo que debe comprometerlos.

  2. Si ha realizado algunos cambios para ese archivo (la revisión incorrecta no es la última revisión de ese archivo), tendrá que resolver el conflicto manualmente. Supongamos que tiene el archivo readme.txt con y el número de revisión incorrecto es 33. Además, ha realizado otra confirmación para ese archivo en la revisión 34. Después de elegir Revertir cambios desde la Revisión 33 , tendrá lo siguiente en su copia de trabajo:

readme.txt.merge-left.r33 - mala revisión

readme.txt.merge-right.r32 - antes de una mala revisión

readme.txt.working - versión de copia de trabajo (igual que en r34 si no tiene ningún cambio no confirmado)

Original readme.txt se marcará en conflicto, y contendrá la versión fusionada (donde los cambios de la mala revisión se eliminan) con algunos marcadores (<<<<<<<. Trabajo, etc.). Si solo desea eliminar los cambios de la mala revisión y mantener los cambios realizados después, entonces todo lo que tiene que hacer es eliminar los marcadores. De lo contrario, puede copiar el contenido de uno de los 3 archivos mencionados anteriormente en el archivo original. Elija lo que elija, cuando termine, marque el conflicto resuelto por

Equipo - Marca resuelta

Los archivos temporales se eliminarán y su archivo se marcará cambiado. Como en 1, debe realizar cambios.

Tenga en cuenta que esto no elimina la revisión del historial de revisiones en el repositorio svn. Simplemente realizó una nueva revisión donde se eliminan los cambios de la mala revisión.


En Eclipse usando Subversivo:

Haga clic derecho en su proyecto> Equipo> Fusionar

En la ventana de fusión, seleccione las revisiones que desea revertir como normalmente, pero también active la casilla de verificación "Fusión invertida".

Fusionar como normalmente.



Si desea hacer 1 archivo a la vez, puede ir a la vista de Historial del archivo, suponiendo que tiene instalado un complemento Eclipse SVN. "Equipo-> Mostrar historial"

En la vista Historial, encuentre la última versión correcta de ese archivo, haga clic con el botón derecho y seleccione "Obtener contenido". Esto reemplazará su versión actual con el contenido de esa versión. Luego puede confirmar los cambios cuando lo haya arreglado todo.


Tengo el mismo problema, pero la opción CleanUp eclipse no funciona para mí.

1) instalar TortoiseSVN
2) Vaya al explorador de Windows y haga clic derecho en el directorio de su proyecto
Opción de 3 opciones de limpieza (mediante la opción de bloqueo de corte)

Funciona.

Espero que esto ayude a alguien.


Tienes dos opciones para hacer esto.

El Quick and Dirty está seleccionando sus archivos (usando ctrl ) en la vista del Explorador de proyectos, haga clic con el botón derecho en ellos, elija Replace with... y luego elija la mejor opción para usted, desde Lo Latest from Repository o desde alguna versión de Branch . Después de obtener esos archivos, los modifica (con un espacio, o arregla algo, su llamada y los compromete a crear una revisión más nueva).

Una forma más limpia es elegir Merge en el menú del equipo y navegar a través del asistente que le ayudará a recuperar la versión anterior en la revisión real.

Ambos comandos tienen sus equivalentes de línea de comando: svn revert y svn merge .