Pregunta

Estoy usando Eclipse / Subclipse para el desarrollo. También tengo el cliente TortoiseSVN.

Estoy tratando de mover un repositorio CVS. El repositorio CVS de edad tenía un solo proyecto. Queremos reogranize ya que varios de los proyectos tienen sus propias corrientes de desarrollo, y debe manejarse por separado.

Me corrió el movimiento completo de la norma repositorio usando cvs2svn, y no tuvimos problemas.

Quiero reestructurar los proyectos en el depósito de la subversión, por lo que después de la cvs2svn, he tratado de hacer un movimiento SVN y hice la reestructuración. Yo era capaz de hacer con éxito el movimiento, de nuevo sin problemas.

puedo comprobar a cabo el proyecto en Eclipse, y luego elija un archivo en uno de los movidos proyectos. Que aparentemente no importa qué proyecto. Si hago una versión de actualización de Eclipse, y elegir una versión de la historia del archivo para actualizar a, el archivo se elimina de mi sistema de archivos, pero la versión más antigua nunca baja. El archivo es simplemente desaparecido.

Tengo el mismo problema utilizando TortoiseSVN, por lo que supongo que no es una cuestión Subclipse.

Lo interesante es que si hago un svn move de un proyecto Atrás a su ubicación original en la que se convierte inicialmente, y siga los mismos pasos, que no tienen ningún problema , la versión de actualización funciona como se esperaba.

Por lo tanto, a mi pregunta (s):

  1. ¿He hecho algo mal durante el movimiento cvs2svn que me impiden la reorganización de éxito mi repositorio de subversión?
  2. ¿Hay una mejor manera de hacer lo que estoy tratando de hacer?
¿Fue útil?

Solución

Donde trabajo, hemos decidido mover los archivos en SVN después de la importación de CVS. CVS tiene una capacidad limitada con historia en movimiento, mientras que el repositorio SVN se puede "deshechas" para ver cómo se veía en cualquier momento. Una vez más, al hacer esto, se tomó la decisión de que conserva un historial de todos los cambios y movimientos era más importante.

Lo que hemos hecho es mover el módulo de CVS en SVN como es. Luego, utilizando el navegador de repositorios, mover todos los archivos según sea necesario, antes de una salida.

Ahora, esto no resuelve su problema al actualizar un archivo individual a una versión más antigua que puede desaparecer. Hemos decidido que vivir con esto, porque estamos tratando de alejarse de una visión centrada en el archivo del repositorio (CVS) a una basada en la instantánea. Así que si tenemos que volver a una versión anterior, actualizamos todo el proyecto. Si lo que buscas en la historia de diferencias, que funciona bien desde TortoiseSVN cuando permitimos que mueve / cambia el nombre.

Otros consejos

  1. No, no hizo nada malo
  2. Sí. Usted debe reorganizar su repositorio CVS antes de se importa a través de cvs2svn

La razón para este síntoma:

Siempre que descubrir a una carpeta. Si actualiza a una versión anterior, puede no existir esta carpeta (la carpeta fue desplazado) Subversion eliminar sus contenidos. El cambio de nombre en Subversion siempre se implementa como retirar y añadir. Así que hay una conexión entre los archivos delgada, pero es sólo por la historia de este archivo. Si desea ver el nuevo diseño que necesita el pago de una carpeta que contiene tanto: destino y la carpeta fuente. De lo que será capaz de "ver" el movimiento de esta carpeta, sin embargo si sólo tiene una de las carpetas en su salida, la carpeta simplemente se desvanecerá y hay que retirar una URL diferente (ya sea objetivo o fuente).

Así es más fácil para reestructurar sus proyectos en CVS y luego migrar. Desventaja:. Usted no tiene ninguna historia de su reestructuración y que no son capaces de construir / compilar versiones anteriores (que fueron creadas en el CVS)

Estoy de acuerdo con Peter Parker que es fácil y preferible para reorganizar los proyectos en CVS antes de la conversión a la subversión, si lo que quiere hacer es reorganizar las carpetas y los archivos dentro de los proyectos individuales.

Pero si quiere reorganizar el diseño de los propios proyectos (es decir, donde vive uno de los proyectos con respecto a otro), usted puede hacer esto fácilmente como parte de la conversión cvs2svn. Cuando haces un multiproyecto conversión , puede especificar dónde cvs2svn debe colocar el tronco, las ramas y directorios etiquetas para cada uno de los proyectos. Basta con colocar de acuerdo a su nueva organización del proyecto deseado y entonces no debería tener ningún problema en trabajar con el repositorio utilizando cualquiera de las herramientas habituales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top