¡Ya están listas las smart branches de Plastic SCM!

9:56 0 Comments

Estamos muy orgullosos de anunciar la primera versión del soporte para smart branches o ramas inteligentes de Plastic. Esta versión no es aún oficial (así que no la uséis para producción sin habernos contactado antes) y se puede descargar directamenete desde aquí, sin necesidad de registrarse.




¿Qué son exactamente las smart branches? Son la evolución de la funcionalidad básica de manejo de ramas de Plastic en respuesta a las demandas de algunos de nuestros usuarios: pueden recordar su punto de partida por lo que al volver a cambiar a una rama el usuario no tiene que recordar cuál es su punto de partida. Esta característica es muy positiva para diversos patrones de ramas muy utilizados, y sobre todo ayudará a los desarrolladores que utilizan el patrón de rama por tarea a recuperar viejas ramas.

Una rama inteligente es conceptualmente muy parecida a una "stream" pero hemos preferido quedarnos con el nombre más tradicional de branches/ramas.

Con las ramas inteligentes Plastic recuerda cuál es el punto de partida de una rama en un punto en el tiempo. El diálogo de propiedades de la rama (también una novedad en la versión BL101) mostrará cuál es el punto de partida actual de la rama y además permitirá que se modifique creando uno nuevo (lo cual es muy útil para las operaciones de rebase por ejemplo).

El nuevo diálogo de propiedades además permite a los usuarios modificar el nombre de la rama y especialmente sus comentarios, algo que nuestros clientes nos habían pedido desde que sacamos las versión 2.0.



Con esta nueva versión también se da mayor visibilidad a los changesets: están presentes en Plastic desde el primer día, pero ahora las ramas no se crean tan sólo desde una etiqueta o línea base sino también desde un changeset en concreto, lo cual facilita el mantenimiento.

El mecanismo de herencia de ramas de Plastic es lo bastante flexible para poder definir diversas estrategias de ramificación y ahora se pueden combinar (de manera más sencilla que antes) con el uso de las smart branches.

Una rama inteligente es simplemente una rama de Plastic con un enlace a un punto de partida. Este punto de partida puede ser:

  • otra rama (en cuyo caso heredarará de lo ultimo de esta rama, implementando la herencia actualizada de manera dinámica)
  • un changeset concreto en una rama (que especifica herencia fija desde un punto de partida bien definido)
  • una etiqueta (que es el caso normal que se utiliza como buena práctica en el manejo de ramas).

    Se crea un nuevo changeset cada vez que se configura una nueva rama como base así que los usuarios pueden encontrar fácilmente un punto de partida para utilizar más tarde, si fuera necesario, para recuperar esta configuración en concreto.



    Viendo la figura de arriba se observa que si un desarrollador selecciona ir al changeset 99 la rama /main/task001 se utilizará como label00 de base, pero si se selecciona el changeset 100 será la etiqueta label01.

    Los cambios también se introducen en la definición del selector por lo que ahora se pueden utilizar reglas como la siguiente:


    rep “codicetest”
    path “/”
    smartbranch “/main/task001”

    Y se configurarán los detalles de herencia de ramas que sean necesarios.

    La versión BL101 incluye toda esta nueva funcionalidad desde la interfaz gráfica y en nuestra próxima versión también se incluirá soporte para ramas inteligentes desde el explorador de ramas.

    Esperamos que las ramas inteligentes hagan que el manejo de ramas en Plastic sea aún más sencillo de utilizar tanto para nuestros clientes nuevos como para los actuales, y además incluyen más escenarios de manejo de ramas avanzado cuando sea necesario.

    ¡Esperamos que os guste!
  • 0 comentarios: