El control de versiones ofrece a los equipos de desarrollo la posibilidad de hacer justo lo que su nombre indica: controlar qué versión de un proyecto o repositorio de datos es la versión maestra de un proyecto, haciendo un seguimiento a todos los cambios entre versiones y marcándolos con fecha y hora. Los sistemas de control de versiones son estupendos para hacer seguimiento y mantener bases de código completas sin tener que seguir el anticuado sistema de copiar, pegar, comprimir y enviar por correo electrónico que utilizan la mayoría de los diseñadores de PCB. También está la cuestión de clonar proyectos y crear un historial de revisiones a partir de un repositorio de código.
Si eres diseñador de hardware, ¿cómo puedes aprovechar los sistemas de control de versiones para tus proyectos de hardware? Los sistemas externos de control de versiones imponen un paso adicional en tu flujo de trabajo, en el que los archivos deben ser extraídos y modificados, y las revisiones devueltas al control de versiones. Los usuarios de Altium Designer pueden aprovechar las capacidades de sincronización de Altium 365 para ayudarles a replicar su sistema de control de versiones en una plataforma gestionada basada en la nube. Los usuarios también pueden migrar su repositorio de SVN o Git externo al sistema de control de versiones de Altium 365.
Después de comentar este tema con varios diseñadores de PCB, me he dado cuenta de que las grandes empresas cuentan con métodos interesantes para catalogar y organizar sus proyectos, documentos de PCB, esquemáticos, bibliotecas y cualquier información necesaria en los proyectos de diseño de PCB. Probablemente, los dos métodos más comunes para organizar los datos de diseño sean por proyecto o por tipo de archivo y número de componente o proyecto. En cualquier caso, cuando no existe un sistema de control de versiones, es probable que un equipo tenga un gran grupo de proyectos en una carpeta en alguna parte.
Hay situaciones en las que puede ser una buena idea incorporar tus proyectos de hardware y PCB a un sistema de control de versiones.
Los sistemas de control de versiones ayudan a agilizar todas estas tareas y la decisión que tiene que tomar un equipo de diseño de PCB es qué sistema de control de versiones debe utilizar. Los usuarios de Altium Designer tienen la opción de utilizar el repositorio integrado de Git en Altium 365.
La ventaja de utilizar el sistema de control de versiones interno de Altium 365 es que cualquier proyecto de PCB que se encuentre en el control de versiones puede sincronizarse y abrirse directamente en Altium Designer. No hay un proceso manual de revisión de archivos y las revisiones del proyecto pueden sincronizarse de nuevo en Altium 365 con unos pocos clics. Además, todo lo que hay en un proyecto de PCB es elegible para la sincronización y migración a Altium 365.
Sin embargo, hay veces en las que es importante llevar un sistema de control de versiones externo. Los proyectos de diseño de PCB pueden ser muy complejos y abarcar mucho más que la placa de circuitos, ya que pueden incluir elementos mecánicos, documentación diversa, código para software o firmware integrado y otros elementos esenciales que aún no están presentes como objetos gestionados en Altium 365. También puede ocurrir que una empresa maneje datos privilegiados para un diseño y no se le permita colocar esos datos en un servidor que no controle directamente. En esos casos, tiene sentido sincronizar solo los datos relevantes del proyecto de PCB, mientras que el resto de la información se puede guardar en el repositorio externo.
Si alguna vez has utilizado Altium Designer con un sistema de control de versiones, es posible que te haya llamado la atención una carpeta ".git" oculta entre las carpetas del proyecto. Esta carpeta te indica que Altium Designer tiene un sistema de control de versiones activado para ese proyecto. Tan pronto como esta carpeta .git se reconoce en una carpeta de proyecto, Altium Designer entra en el modo "Sincronización simple" (Simple Sync) y se prepara para sincronizarse de nuevo con Altium 365.
Hay algunas opciones para sincronizar el control de versiones localmente:
Crea la carpeta .git localmente utilizando las siguientes entradas de líneas de comandos Git Bash desde la carpeta de tu proyecto:
Usa TortoiseGit u otra herramienta para crear la carpeta .git local
Usa el comando "Permitir que esté disponible online" en el panel Proyectos
Una vez abierto el proyecto en Altium Designer, la presencia de la carpeta .git activará la función de sincronización simple. A continuación, puedes usar los comandos estándar "Enviar" y "Confirmar" para colocar el proyecto en el control formal de versiones de Altium 365. El uso de herramientas externas de control de versiones permite crear estos repositorios localmente por lotes y sincronizarlos con un espacio de trabajo de Altium 365 cuando sea necesario.
Cuando se abre un proyecto gestionado en Altium Designer, los archivos se extraen del control de versiones interno o externo de la misma forma. Esta es una excelente manera para que las empresas con una gran cantidad de datos en un control de versiones externo puedan garantizar que sus proyectos de Altium se sincronicen con su sistema de control de versiones principal. Sin embargo, si lo que quieres hacer es migrar completamente al sistema de control de versiones de Altium 365, hay algunas formas de hacerlo.
La manera más sencilla de desactivar el control de versiones para un proyecto de PCB es eliminar la carpeta .git de la carpeta del proyecto. Por desgracia, esto elimina todo el historial de revisiones, por lo que no es la forma más pulcra de retirar un proyecto del sistema externo de control de versiones.
Una vez extraído el proyecto del sistema externo, puedes introducirlo inmediatamente en el sistema de control de versiones interno de Altium 365 mediante las opciones enumeradas anteriormente. Probablemente, lo mejor sea utilizar el empaquetador de proyectos (Project Packager):
El empaquetador de proyectos (Project Packager) creará una instantánea del proyecto sin el lastre del control de versiones. También eliminará cualquier enlace al proyecto en el caso de que hubiera estado disponible en tu espacio de trabajo con anterioridad.
Ahora ya puedes eliminar el proyecto del repositorio antiguo o abandonarlo por completo. También podrías dejar este repositorio para otros usos que puedan ser relevantes para tu proyecto, pero que no impliquen tareas en Altium Designer.
Por último, si te gusta la aventura y quieres que todo esté sincronizado en todos los sistemas de control de versiones, tendrás que crear un script que actúe como espejo. Ari Mahpour tuvo la amabilidad de escribir algunos artículos fantásticos sobre la creación de un flujo de trabajo basado en Git para los usuarios de Altium Designer:
Además, todo lo anterior se ha discutido en términos de Git, pero puedes crear repositorios SVN gestionados con control de versiones. Lee esta guía en la documentación para obtener más información.
Los fabricantes y diseñadores de PCB de hoy en día pueden compartir los datos de los proyectos y colaborar fácilmente utilizando la plataforma Altium 365™. Los equipos de diseño de PCB pueden utilizar las funciones de control de versiones internas para la gestión de datos de diseño, integrándolo todo con las herramientas de diseño de primera clase de Altium Designer®. Altium 365 te permite compartir los datos de tu proyecto con otros diseñadores, fabricantes y clientes en un entorno seguro.
Esto es solo una muestra de todo lo que es posible hacer con Altium Designer en Altium 365. Puedes consultar la página del producto para obtener una descripción más detallada de sus características, así como alguno de los seminarios web a la carta.