Migración de ClearCase a SVN

Bueno, tengo un problema con la herramienta de import de SVN para migrar uno de los VOB de ClearCase, que tiene una gran historia … pensamos en hacer esto seleccionando entre 10 y 15 versiones de reference del código e importarlo a SVN. Entonces, para hacer eso, creo que el usuario debe darme las versiones específicas una a una. Entonces, ¿ahora me está preguntando cómo señalar una versión específica en clearcase y exportarla? . La idea aquí es darme el código como bola de alquitrán … para que pueda explotar en mi escritorio y luego importarlo a SVN. …. !!!! No sé cómo importar / capa en todas estas líneas de base en SVN ……. Es algo similar a SVN. ¿Puedes ayudarme con esto?

Otra opción es Migrate2SVN. El desarrollador (Clearvision) acaba de lanzar v2.0 y parece include muchas, MUCHAS mejoras sobre el software Polarion y otros methods mencionados anteriormente.

http://www.clearvision-cm.com/clearcase-subversion-migration.html

Espero que ayude a cualquier Google'rs que haya aterrizado en la misma página que yo 🙂

No lo he usado, pero he oído que SVNImporter importará sus VOBS de ClearCase, incluido el historial.

Parece que lo que su usuario realmente está pidiendo es exportar algunas versiones a la vez de CC para básicamente 'queuepsar' el historial existente. Digamos, por ejemplo, que tiene un gran VOB con miles de revisiones y cientos de tags, y desea tener solo los últimos 5 lanzamientos principales como su historial en el nuevo repository de subversión. Puede exportar la versión más antigua que desee de CC, importar a SVN y crear una copy de trabajo. Luego exportarías alguna versión posterior de CC y copyrías en tu copy de trabajo y harías una actualización. Enjabona, enjuaga, repite hasta llegar a MÁS RECIENTE de CC.

La versión que obtendría de CC está controlada por la especificación de configuration de vistas. Para get solo los files asociados con una label en particular (con suerte tienen tags …) cambie la especificación de configuration a:

element /vob/MyPath/… DESIRED_LABEL 

Para get las versiones asociadas a una label Y a la versión actual de cualquier elemento no asociado con esa label, use:

 element /vob/MyPath/… DESIRED_LABEL element /vobs/MyPath/… /main/LATEST 

Para get más información, consulte la documentation de IBM / Rational config_spec .

Hice algunas migraciones claras por mi count: aquí están mis pensamientos:

  1. NO use el importador sugerido por Gary Ray, ya que no es muy maduro. Carece de muchas características que desea tener, por ejemplo, control de versiones de directorys, tags correctas con nombres de file antiguos, historial de files eliminados, etc. Este importador es solo para migraciones a pequeña escala donde realmente necesita el contenido de sus files y puede perder los cambios estructurales generales

  2. crea una list de tags que quieras exportar

  3. escriba una secuencia de commands para generar la especificación de configuration de clearcase para cada label en su list de tags

  4. alternativa: cree una list de especificaciones de configuration para cada label, si no puede tener éxito en el paso 3

  5. ata y comprime la vista de su clearcase y copy la recoge en tu máquina SVN

  6. extraer cada file comprimido a una carpeta

  7. use svn_load_dirs.pl para importar a SVN, también puede querer crear una label en SVN

  8. goto 6 con la siguiente label

Tenga en count que esto también funcionará con múltiples proyectos. Sin embargo, si tiene modules compartidos (uno de los puntos débiles en SVN), necesitará una estructura específica de repo y su import a SVN puede ser más compleja (tal vez use svn: externals). Deberías automatizar el process, ya que la mayoría de las veces importarás más de una vez, porque tus especificaciones de configuration son files perdidos, tu estructura SVN cambiará, etc. Así que scripts la solución y ejecuta todo automáticamente, lo que será mucho más flexible hasta que toda la migration haya terminado. Es posible que también deba revisar el resultado de la migration.

Nota: si por "línea base" se refiere a "línea base UCM", esto se vuelve más simple para un componente dado (tree de files dentro de un Vob).

Cree un proyecto de UCM con un solo flujo de integración y una vista dinámica en él, luego:

 ct lsbl -s component:myComponentToExport@\myPVob 

le dará la list de líneas de base para exportar.

 ct rebase -bas myIntStream@\myPVob aBaseline 

dentro de la vista dinámica configurará la vista como fuente para su export.
(Repita para cada línea de base, para la más antigua que quiera importar a la más reciente)


Pero si está con datos labeldos con base-ClearCase (y no UCM), tenga en count este problema:

una label base ClearCase se puede poner en cualquier file. Regla como la sugerida por Gary

 element /vob/MyPath/... DESIRED_LABEL 

puede muy bien terminar seleccionando 0 files, simplemente porque la label ' DESIRED_LABEL ' no se ha puesto en el directory raíz ' MyPath '!


Además, no hay una noción de revisión de "línea de time" (como la revisión en Subversion).
Si la label no es confiable (porque no se incluyen todos los files), una solución podría ser combinar la date de la label con una regla basada en el time .

 element /vob/MyPath/... DESIRED_LABEL element /vob/MyPath/... .../myBranch/LATEST -time (date_Of_The_Label_Put) 

' date_Of_The_Label_Put ' es la date de la aplicación de la label en al less un elemento.
Si algunos elementos no han sido labeldos, aún se seleccionarán en la versión correcta, es decir, la versión en el momento de la label se aplica parcialmente en un set de files.