8

Estoy en un grupo que está comenzando a desarrollarse con InterSystems Ensemble (un marco de integración construido sobre InterSystems Caché).Control de versiones para InterSystems Ensemble/Caché

InterSystems no ha hecho que el Portal de administración de conjuntos esté al tanto del control de fuente y esto parece ser una fuente de problemas para el equipo de desarrollo al que nos gustaría dirigirnos.

Me gustaría saber qué sistema de control de versiones está utilizando para Ensemble/Caché y cómo está estructurando su proceso de desarrollo al respecto.

Respuesta

4

He encontrado VC/m, un sistema de control de versiones diseñado para Caché.

No dude en añadir sus comentarios si ha tenido alguna experiencia con él.

4

Otra alternativa parece TrackWare que también está diseñada específicamente para Caché.

3

Si no tiene miedo por el trabajo de desarrollo, puede hacer algún desarrollo para conectar el estudio a su herramienta de control de origen actual. Hay enganches en Caché que le permiten detectar modificaciones en los archivos e interactuar con su herramienta de control de origen.

Aquí un enlace a un pdf describe la base: Using the Studio Source Control Hooks

Por supuesto, con esta solución tendrá que hacer mucho trabajo de su lado.

+0

Esta es una solución para Caché, pero InterSystems no ha hecho consciente el control de fuente de Ensemble Portal, por lo que los enganches no se activan cuando se modifican las producciones Ensemble:/ – fglez

+1

Gracias por la información. ¿Son las otras souciones que propones capaces de administrar la parte del Ensemble? – FrenchData

+0

No lo son, porque implementan esos mismos enganches :(. Quería saber si alguien más se ha enfrentado a esto y cómo están lidiando con eso (configurar una actualización que involucre a personas es la única solución que se le viene a la mente). – fglez

0

Última respuesta, pero de todos modos, puede echar un vistazo a CodeTools de Synerva. . CodeControl funciona como un complemento de Studio

0

Synerva's CodeTools ofrecen una solución bastante buena para eso. lo he estado utilizando en varios proyectos durante bastante tiempo.

1

Estoy usando Mercurial y aunque utilizo un gancho de control de fuente de Cache Studio (no estoy usando ensemble) creo que básicamente la misma solución funcionaría para usted.

La clave es que es control de fuente distribuida. Así que todo lo que hace el gancho es, en un guardado, exportar el archivo actual a una carpeta en mi disco duro y registrarlo en mi repositorio local. Cuando las cosas funcionan bien a nivel local, lo paso al repositorio central; en otras palabras, utilizo el control de fuente distribuida de una manera normal.

Es agradable comprometer cada guardado ya que esto me da una forma de deshacer las cosas si estropeo algo, pero en realidad no es necesario. Podría escribir algo que empuje el código a su repositorio local cuando lo llame desde el símbolo del sistema de caché.

Con control de fuente distribuida no importa el hecho de que las funciones de check-in y check-out no sean compatibles, usted maneja esos problemas al fusionarse cuando ingresa al repositorio central (o como usted decida estructurar sus repositorios))

Una advertencia: para las definiciones de clase de caché, se exportan como XML en un formato que no se define. Incluye una marca de tiempo de cuando se generó el archivo y una última fecha de modificación. Estos engañan al sistema de control de la fuente para que crean que han cambiado cuando no lo han hecho. Por lo tanto, tendrá que analizar el XML al menos lo suficiente como para eliminarlos.No sé de una bandera para evitar que se generen en primer lugar.

+0

El $ system.OBJ.Export toma como su 3er parámetro una cadena que contiene indicadores (documentados como qspec). Envío "/ diffexport = 1 "(sin incluir las comillas) en este parámetro excluirá las marcas de tiempo de modificación (y un par de otras cosas) de la exportación –

+0

@SteveMallam - ¡Gracias! ¿Sabe por casualidad dónde está documentado? No está en el método ShowFlags ni en la documentación de la clase – psr

+0

Disculpas: acabo de ver esta pregunta. No sé sobre la documentación, pero de% SYSTEM.OBJ Class Reference (por ejemplo, http://docs.intersystems.com/cache20122/csp /documatic/%25CSP.Documatic.cls?CSPCHD=00c00v3d00002bwfZO2x6U0000EYSBS6XxkRToTmb6F2qrGw--) "qspec es una lista de banderas o calificadores que se puede visualizar con 'Do $ system.OBJ.ShowQualifiers()' y 'Do $ system.OBJ .ShowFlags() '" –

Cuestiones relacionadas