¿Qué archivos para controlar la versión de un proyecto Altium PCB?

12

Estoy tratando de crear el .gitignorearchivo para un proyecto Altium que está versionado con git y almacenado de forma remota en GitHub.

No quiero que mis compañeros de equipo luchen continuamente por tener que actualizarse cada vez que realizo un pequeño cambio, como volver a ejecutar verificaciones de reglas de diseño o volver a compilar el proyecto. ¿Cuáles son los archivos mínimos que debo agregar a mi sistema de control de versiones?

# Ignore the subdirectory where output job outputs are placed
GeneratedOutput

# Ignore autosave files (anything that begins with a tilde)
~*

# What else to ignore?
tarabyte
fuente

Respuestas:

11

Aquí está la lista de ignorados que uso para administrar archivos Altium en SVN. Estoy seguro de que se pueden convertir a un formato .gitignore (si es necesario) sin demasiados problemas:

*/History/*
*.PrjPCBStructure
*.SchDocPreview
*.PcbDocPreview
*\__Previews
*\History
*.PrjPcbStructure
*~$*

Tenga en cuenta que no estoy de acuerdo con @KyranF, no desea archivar los prjpcbstructurearchivos. Se regeneran por completo cada vez que compila el proyecto, y de todos modos no hay realmente nada allí. Funcionalmente son solo artefactos de construcción, y no deberían ser comprometidos.

Además, he guardado mi trasero varias veces por el material de Historia, si unos pocos cientos de MB de almacenamiento local son un problema, necesitas 1. Un disco duro más grande, y 2. Para arreglar tus prioridades, si unos pocos cientos MB es una consideración seria en absoluto.

También discrepo fuertemente en cometer Gerber. Si está tratando de vincular canónicamente una PCB real a un conjunto de archivos, tener los gerbers puede ser esencial, especialmente cuando las cosas salen mal en la etapa de exportación y / o procesamiento de gerber. Es cierto que no deberías comisionar archivos gerber todos los días (tampoco deberías molestarte en crearlos a diario), pero SIEMPRE debes comprometer (e idealmente etiquetar) cada conjunto de gerbers que lanzas a la fabricación.


Creo que *~$*puede ser el indicador de archivo temporal para SolidWorks , no Altium.

Connor Wolf
fuente
Supongo que los gerbers generados para una "versión" particular de un PcbDoc es importante mantener juntos bajo control de versión, buen punto. Y no estaba seguro sobre el archivo prjpcbstructure, sin embargo, me pareció lógico, dado que puede incluir información sobre qué archivos / fuentes externas se usaron durante esa compilación particular del proyecto y puede ayudar a diagnosticar archivos perdidos más tarde
KyranF
Cuando envía una placa para su fabricación, es una buena idea comprimir toda la carpeta del proyecto de PCB (menos el historial y la basura de otros archivos) y congelarla en el estado en el que se envió. He hecho esto algunas veces, y también lo olvidé algunas veces, y desearía haber sido más consistente.
KyranF
@ KyranF: muchos de los archivos altium son ASCII, incluidos los .PrjPcbStructurearchivos. Puedes mirar y ver qué codifican.
Connor Wolf
justo lo suficiente, tendré un lookie!
KyranF
Los archivos .PrjPcb también son ASCII, lo cual es conveniente si ha movido cosas. Puede editar manualmente el contenido del archivo.
Connor Wolf
3

Como una adición a las otras respuestas:

  • No versionar

    • Archivos obvios: potencialmente todos los resultados generados, como BOM, archivos de informes, etc.
    • .Dat: se (re) genera como parte de la generación de la lista de materiales. Solo parece contener información redundante.
    • .TLT: información de diseño de la GUI.
    • .REP: archivo de informe de lágrima.
  • Hacer versión / considerar versiones

    • Archivos obvios: .PcbDoc, .PrjPcb, .SchDoc, .OutJob, .PrjPcbVariants
    • .DsnWrk: a menudo encuentro que abro varios proyectos de PCB no relacionados mientras trabajo durante el día, lo que da como resultado cambios en el archivo del espacio de trabajo. Como eso no es relevante para el control de versiones, tiendo a dejarlo de lado.
    • PcbLib, .SchLib, .PvLib: un proyecto puede contener algunas bibliotecas específicas del proyecto.
    • .PrjPcbStructure: contiene información sobre la estructura jerárquica. Se (re) genera en la compilación. Se puede versionar, ya que cuando la estructura cambia, una confirmación está pendiente de todos modos.
    • .Anotación: contiene información de anotación de componentes a nivel de placa.
    • .Harness: esos archivos contienen la definición de Arnés y pueden contener definiciones arbitrarias que no se pueden generar.
Rev1.0
fuente
2

Desea controlar la versión de los archivos .prjpcb (¡suponiendo que tenga un proyecto de PCB!), .Prjpcbstructure, .pcbdoc y .schdoc.

El resto, como el historial, las vistas previas, las salidas gerber, etc., son una especie de archivos transitorios, que no son importantes para el proyecto.

editar: también tenga en cuenta el enorme tamaño de los archivos de "historial", pueden convertirse en muchos cientos de megabytes, por lo que debe ajustar el tamaño del historial en las preferencias del proyecto / Altium para mantenerlo bajo control, incluso si se ignora toda esa carpeta mediante el control de archivos de subversión, seguirá consumiendo espacio en el disco duro de su PC.

KyranF
fuente