java eclipse svn move

java - Mueva convenientemente una clase a un paquete diferente en eclipse sin borking svn



move (5)

No puede hacer ambas cosas al mismo tiempo porque mover los archivos por sí solo no es suficiente. Los archivos deben ser modificados para que su código sea compilable de nuevo. Así que refactorice con Eclipse y deje que Subclipse haga su magia (elimine archivos viejos, agregue nuevos archivos) después de la mudanza.

Al mover un archivo de old.package to new.package , quiero que ocurran dos cosas:

  1. Actualice todas las referencias a esa clase (en todos los archivos del proyecto) para que se use el nuevo paquete
  2. svn move old/package/Foo.java new/package/Foo.java

Uso subversivo dentro de Eclipse Ganímedes. Cuando simplemente arrastro el archivo de un paquete a otro, todas las referencias se actualizan y el archivo se mueve en el sistema de archivos. Pero SVN no lo sabe y, por lo tanto, el comando svn move old/package/foo.java new/package/Foo.java no funciona (obviamente) cuando old/package/Foo.java no existe (porque eclipse ya lo movió) )

¿Hay alguna manera de hacer eclipse para refactorizar pero usando svn para mover el archivo en el sistema de archivos? Espero que me esté perdiendo algo obvio :-)


Si dejas que Eclipse realice la refactorización, seguramente hará cambios en los archivos reales que SVN debería recoger cuando confirmes el directorio raíz. No creo que un movimiento lo corte, sin embargo, SVN tendrá que darse cuenta de que el archivo no está en su directorio original, pero volverá a agregarlo desde el nuevo directorio. Es una situación complicada, no sabría cuál es el mejor método, solo haré la refactorización y luego comprometeré personalmente la raíz, aunque no sería un movimiento.


Uso Subclipse y admite mover archivos entre paquetes


Yuval tiene razón. Esto suena como una (¡muy desafortunada!) Deficiencia en Subversivo. (No tengo ninguna experiencia con Subversive, no estoy seguro). Subclipse definitivamente maneja esto correctamente conectando las API correctas en Eclipse.


He estado experimentando, y creo que he encontrado el camino:

1) Mueva la tortuga del archivo usando el menú contextual de clic derecho (o el método SVN que desee).

2) Usa el sistema de archivos de Windows para moverlo hacia atrás.

3) Arrastre: mueva el archivo en Eclipse para actualizar todas las referencias.

4) Confirmar: se muestra como eliminar / agregar, pero guarda el historial, y cambia las referencias del paquete en una confirmación (manteniendo cada compilación configurable).

Una vieja pregunta, pero sigo volviendo a ella, ¡así que esta es mi documentación!