SVN para borrar la export

Tengo un cliente que es bastante insistente sobre el uso de Clearcase. ¿Hay herramientas / scripts que permitan que mi equipo trabaje contra un repository SVN (o realmente cualquier cosa que no sea Clearcase), pero periódicamente sincronizan automáticamente los sets de cambios con Clearcase VOB?

Mi opinión es que si tal herramienta existe, y es automática, confiable y transparente, se podría persuadir al cliente para que nos permita trabajar contra SVN.

Gracias, Kent

Yo uso Git directamente en una vista de ClearCase.
Entonces podría devolver el contenido a SVN si tuviera un repository SVN para sincronizar.

Nota: para que una herramienta funcione directamente dentro de una vista de ClearCase, tengo que usar una vista de instantánea, para poder escribir en los files, incluso si aún no están desprotegidos. Luego, para cualquier actividad que considere terminada, actualizo la vista de instantáneas que me permite enumerar todos los files "secuestrados". Los compruebo, luego los logging.


El problema que vería con trabajar con SVN en este caso (Repo de ClearCase para el cliente) sería:

  • introdujo otro repository central (lo que significa que debe comprometerse, debe tener acceso a su repository SVN central privado y, para "compromisos del cliente", tener acceso a la database central de ClearCase VOB – Version, el "repository" en la jerga de ClearCase).
  • introdujo otro modelado de twigs, donde en SVN, es una copy barata dentro de un directory, mientras que en ClearCase, es un metadato (twig) no representado como un directory. Eso significa que el tree físico de un checkout de SVN puede no coincidir con una actualización de vista de instantánea en ClearCase, porque algunos de los directorys desprotegidos por SVN simplemente no existirán en ClearCase.

Al less, con Git, tienes:

  • repository privado (no está agregando otro repository central al que todos deberían tener acceso)
  • mismo model de bifurcación (al less cuando se trata de "no representar una sucursal en un directory")

Necesitábamos exactamente esto para un proyecto en el que estaba. El equipo estaba más cómodo en svn, y el estándar corporativo era ClearCase. Así que escribí un script para migrar continuamente trunk a clearcase, y lo ejecuté en nuestro server de compilation.

He puesto el guión aquí: http://dvae.net/blog/2009/09/clearcase-to-svn/

Lo que hicimos fue configurar un trabajo en nuestro server de compilation que se ejecutaba periódicamente e hicimos una migration usando clearfsimport. Usamos Luntbuild como el server de compilation, pero el control de crucero funcionaría bien también. Al igual que una compilation normal, configuramos el script para que se ejecute solo cuando se detectan las modificaciones svn. Tuvimos el trabajo ejecutándose cada 20 minutos ya que el server ClearCase estaba en un país diferente y todas las operaciones fueron lentas y una synchronization tardó 40 minutos en ejecutarse. Sugiero correr tan seguido como puedas.

El script se basa en ClearCase UCM; si no es así, debe eliminar el 'cleartool mkact' y, al final, crear una label en lugar de una línea base.

Establecí que el comentario del clearcase sea una concatenación de todos los commit de SVN desde la última synchronization.

Lo encontré confiable, y la única razón por la que fallaría era si los desencadenadores de Clearcase (como el activador 'gemelo malvado') detenían el logging. Cuando eso sucede la compilation falla, Lunbuild envía un correo electrónico, y luego tengo que hacer una fusión de historial inversa manualmente para deshacerme del problema del gemelo malvado, comprometerme y volver a ejecutarlo.

Solo para tu información: podría ser útil para ti de alguna manera: pasar de SVN a ClearCase

Esto no sincroniza los datos, pero si necesita migrar, podría ayudar.

Si clearcase tiene soporte de línea de command, usted podrá escribir un script para verificar en clearcase, y configurar svn para ejecutarlo automáticamente cuando se haya confirmado el código ( hook posterior a la confirmación )

Sí, CollabNet ofrece un producto comercial específicamente para ese propósito, llamado CollabNet Subversion Connector.

También hay una herramienta comercial de Clearvision para este propósito que está disponible aquí:

http://www.clearvision-cm.com/clearcase-subversion-git-mercurial-integration.html

Puede sincronizar clearcase con subversion, git o Mercurial.

Ese artículo describe varias forms para eso:

http://www-01.ibm.com/support/docview.wss?ratlid=cctocbody&rs=984&uid=swg21258843 .

Básicamente las variantes:

1) Si no está interesado en mantener el historial de versiones y simplemente desea comenzar desde la última versión o una configuration preseleccionada, puede usar el command clearfsimport . Revise la Guía de reference de commands de ClearCase sobre el tema de clearfsimport (cleartool man clearfsimport) para get más información.

2) Si requiere un historial de versiones, es posible que desee evaluar la herramienta de código abierto svn2cc .

TRABAJOS LABORALES:

  1. Es posible crear vistas en Subversion que representen ciertos hitos en su flujo de desarrollo. Desde allí, puede importar las versiones de cada vista secuencialmente utilizando el command antes mencionado clearfsimport. El command clearfsimport en este escenario creará una nueva versión del elemento cada vez que se ejecute aplicando una label a las versiones importadas automáticamente.

  2. Puede intentar usar clearexport_cvs, ya que el repository de Subversion es muy similar al de CVS (sistema de versiones concurrentes), consulte la reference de commands de IBM Rational ClearCase para get más detalles sobre esta utilidad de export.