64 votos

¿Sistemas de control de versiones para proyectos de hardware?

¿Cuáles son los mejores sistemas de control de versiones para proyectos de hardware? ¿Existen equivalentes de Google Code, CVS y SVN? ¿Son adecuados estos sistemas de control de versiones para proyectos de hardware que incluyan archivos de PCB, esquemas (incluso código de firmware)?

8 votos

¡Buena pregunta! Me encantaría ver algunos ejemplos de repositorios incluidos en las respuestas.

1 votos

+1 Por reconocer que los proyectos de HW podrían beneficiarse del control de fuentes. A los chicos con los que trabajo parece que les cuesta darse cuenta de esto.

1 votos

Llevo un tiempo usando Mercurial para versionar placas de circuitos y me ha salvado el culo un par de veces. Sin duda una buena idea.

28voto

JFW Puntos 168

Básicamente, todos los sistemas VCS pueden manejar archivos de texto y binarios sin problemas. Por supuesto, no es posible fusionar archivos binarios.

Así que mientras no estés usando cosas obsoletas como CVS estarás bien con CUALQUIER sistema.

3 votos

Yo utilizo CVS para todos mis proyectos (software y hardware, con PCB, firmware, herramientas, etc.) y no tengo ningún problema. Claro, CVS es obsoleto, pero tengo 20 años de historia del proyecto y ningún convertidor trabajó para migrar mis repositorios a Mercurial, o SVN.

14 votos

Entonces una forma pragmática es simplemente dejar el material antiguo en CVS, y luego poner el material nuevo en el nuevo sistema...

0 votos

CVS es un sistema precioso si lo comparamos con el horror que es Microsoft Visual Source Safe, en el que estoy encerrado para un proyecto en el que estoy trabajando en este momento. Blech.

17voto

He utilizado Subversion con Altium antes. Funcionó con éxito, pero en ese momento la falta de una herramienta diff lo hizo menos útil de lo que es el control de versiones con código. Sigo pensando que valió la pena hacerlo, incluso sin la capacidad de diff.

Para el firmware, Subversion o Git son excelentes. Si no has usado Git antes, prueba Subversion primero (aunque hará más difícil aprender Git después).

Altium ha introducido recientemente una herramienta diff para esquemas y PCBs, por lo que espero que Subversion sea ahora genial, modulo la locura habitual que los vendedores de EDA se las arreglan para construir en sus productos.

He estado pensando en probar esto con la nueva herramienta diff; si lo hago, intentaré acordarme de poner aquí un enlace al repositorio como ejemplo.

Actualización

He probado esto, y tengo que decir que estoy un poco decepcionado con la herramienta Altium diff. Es funcional, pero los cambios entre las revoluciones de la placa son lo suficientemente sustanciales como para que no sea tan útil, al menos para mí. Después de ver esto, he decidido olvidarme de la herramienta diff y simplemente usar Github. Aquí está el repositorio si estás interesado: https://github.com/rascalmicro/pcb

0 votos

¿Utilizó la interfaz gráfica de usuario SVN integrada (con Altium) o algo externo?

0 votos

El nuevo Altium con SVN es genial, aunque añadiré que las revisiones de PCB/esquemáticos no son tan críticas como lo son en el código. Si estás tratando con más de 3-4 revisiones máximas de esquemas / PCB algo probablemente está muy mal en las fases de diseño o requisitos.

0 votos

@Mark: ¿Te refieres a la beta de la versión 10 o a la del verano de 2009?

10voto

JW. Puntos 145

Yo uso VisualSVN Server + TortoiseSVN cliente, y funciona muy bien

7voto

hromanko Puntos 548

Utilizo Google Code para alojar Super OSD un proyecto mío de electrónica.

Utilizo exclusivamente la suite gEDA para gestionar mis esquemas y placas de circuito impreso. Además, gEDA produce archivos de texto (legibles en su mayor parte, aunque difíciles de interpretar) para los esquemas, en lugar de blobs binarios, como Eagle. Por ejemplo, esta es una diferencia entre dos esquemas uno de unos 5 días y otro que acabo de empujar. No es particularmente útil, ya que en realidad no se puede ver mucho los cambios en los archivos de texto, pero puede mostrar el cambio relativo - es decir, la reanudación masiva, frente a un solo cambio componente - y que le permite volver a versiones anteriores.

3 votos

+1 por el uso de formatos basados en texto para los archivos. El espacio en disco es barato y la compresión de texto es fácil. Ojalá los blobs binarios fueran menos comunes.

3voto

Mark Davidson Puntos 350

¿Por qué no utilizar Google Code o un repositorio SVN? Porque se trata de un sistema de control de revisiones. No hay un uso definido para ello. Simplemente es increíblemente útil para múltiples desarrolladores y para monitorizar los cambios en el código fuente.

1 votos

¿Has hecho esto? Poner binarios en SVN o Mercurial ha resultado terrible para mí.

2 votos

No, pero he utilizado SVN no sólo para el código fuente. Cosas como archivos PDF y .txt.

2 votos

@Tyblu ¿a qué te refieres con terrible? Lo he hecho con archivos esquemáticos y de diseño y su trabajado muy bien para mí con la subversión.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X