2009-02-05 15 views
12

He encontrado que cuando tengo que cambiar el nombre de una clase Java (y por lo tanto el archivo de origen) o la necesidad de cambiar el nombre del paquete (y por lo tanto mover el archivo de origen [s]), que puede:¿Cómo uso las herramientas de refactorización de Eclipse y me mantengo sincronizado con SVN a través de Subclipse?

  1. Use las útiles y útiles herramientas de refactorización de Eclipse, lo cual es excelente, ya que todas las tareas en cascada las he realizado. Sin embargo, luego tengo una lucha cuesta arriba con Subversion para replicar los cambios al repositorio.
  2. Primero puedo emitir los cambios de nombre/movimientos en Subversion, actualizar mi local y luego las herramientas de refactorización en Eclipse no funcionan.

¿Alguien puede aconsejarme sobre un procedimiento preferible?

Respuesta

10

Desde las versiones 1.4.x, Subclipse maneja esto bastante bien. Si tiene errores, informe de ellos. En versiones anteriores, manejaba algunas situaciones pero no otras. Esto se debió a las limitaciones de Subversion que se corrigieron en SVN 1.5. Por ejemplo, antes de SVN 1.5, si cambió el nombre de una carpeta, tampoco podría cambiar el nombre de un archivo en la carpeta (hasta que se haya confirmado la carpeta). Este tipo de cosas eran todas refactorizaciones muy comunes y SVN se interpondría en el camino.

Ahora todo funciona bastante bien.

Marca

3

¿Has probado subversive? Refactorizar parece funcionar bien para mí con eso.

En realidad, también he probado subclipse, y parece que funciona bien, al menos con la versión 1.4.7. Traté de cambiar el nombre de un paquete y una clase. Eclipse marca el anterior como eliminado y agrega uno nuevo, programado para ser agregado al repositorio.

+0

Hola gracias por eso. Estoy usando 1.2.algo. Sigo pensando en actualizar, pero por alguna razón, siempre es una molestia. – Nicholas

-1

Subclipse se ocupará de los movimientos de svn/cambia el nombre cuando se refactoriza en Eclipse.

+2

Dijo que ya estaba instalado, está en el título de la pregunta –

4

No me gusta entrar y decir "lo hago", pero desde su asunto, mencione Subclipse - Subclipse se integra con las herramientas de refactorización de Eclipse. Lo mismo ocurre con Subversivo. Cuando cambia el nombre de una clase, ejecuta el 'svn mv' para usted debajo. Nunca debería necesitar intentar replicar esos movimientos manualmente.

Me pregunto si, por alguna razón, Subclipse no se adjunta a su proyecto, si no sabe que su proyecto es un proyecto de Subversion. Entonces, obviamente, no haría nada.

Si no está utilizando Subclipse/Subversivo ... comience. :)

+0

Estoy usando Subclipse, pero por alguna razón, no emite ningún comando SVN cuando refactorizo. Otras operaciones de "Equipo" aparecen en la consola cuando se ejecutan, pero no para la refactorización. Tal vez es una versión anterior, o de alguna manera es una manguera. Gracias por la respuesta. – Nicholas

Cuestiones relacionadas