Quais arquivos para controle de versão de um projeto Altium PCB?

12

Estou tentando criar o .gitignorearquivo para um projeto Altium que é versionado com git e armazenado remotamente no GitHub.

Não quero que meus colegas de equipe se esforcem continuamente para ter que atualizar cada vez que fizer uma pequena alteração, como executar novamente as verificações de regras de design ou recompilar o projeto. Quais são os arquivos mínimos que devo adicionar ao meu sistema de controle de versão?

# Ignore the subdirectory where output job outputs are placed
GeneratedOutput

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

# What else to ignore?
tarabyte
fonte

Respostas:

11

Aqui está a lista de ignorados que eu uso para gerenciar arquivos Altium no SVN. Tenho certeza de que eles podem ser convertidos para um formato .gitignore (se necessário) sem muitos problemas:

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

Observe que eu não concordo com @KyranF, você não deseja arquivar os prjpcbstructurearquivos. Eles são totalmente regenerados toda vez que você compila o projeto, e não há realmente nada lá de qualquer maneira. Eles são funcionalmente apenas artefatos de construção e esses não devem ser confirmados.

Além disso, eu já tive várias tentativas de salvar o histórico, se algumas centenas de MB de armazenamento local são um problema, você precisa de 1. Um disco rígido maior e 2. Para fixar suas prioridades, se algumas centenas MB é uma consideração séria.

Também discordo totalmente de cometer gerbers. Se você está tentando vincular canonicamente uma PCB real a um conjunto de arquivos, é possível ter os gerbers, principalmente quando algo der errado no estágio de exportação e / ou processamento dos gerber. É certo que você não deve enviar arquivos gerber todos os dias (também não deve se preocupar em criá-los diariamente), mas SEMPRE deve confirmar (e, de maneira ideal, marcar) cada conjunto de gerberos que você libera para a fabricação.


Eu acho que *~$*pode ser o indicador de arquivo temporário do SolidWorks , não do Altium.

Connor Wolf
fonte
Eu acho que gerbers gerados para uma "versão" específica de um PcbDoc é importante para mantermos juntos sob controle de versão, bom ponto. E eu não tinha certeza sobre o arquivo prjpcbstructure, no entanto, me parecia lógico, pois ele pode incluir informações sobre quais arquivos / fontes externos foram usados ​​durante a compilação específica do projeto e pode ajudar a diagnosticar arquivos ausentes posteriormente
KyranF
Quando você envia uma placa para fabricação, é uma boa idéia compactar toda a pasta do projeto PCB (menos o histórico e outras porcarias de arquivos) e congelá-la no estado em que foi enviada - eu fiz isso algumas vezes, e também esqueci algumas vezes, e gostaria de ter sido mais consistente.
KyranF
@ KyyF - Muitos dos arquivos altium são ASCII, incluindo os .PrjPcbStructurearquivos. Você pode ver e ver o que eles codificam.
Connor Lobo
justo o suficiente, eu vou ter um lookie!
precisa saber é o seguinte
Os arquivos .PrjPcb também são ASCII, o que é conveniente se você tiver movido as coisas. Você pode editar manualmente o conteúdo do arquivo.
Connor Lobo
3

Como complemento às outras respostas:

  • Não versão

    • Arquivos óbvios: potencialmente todos os resultados gerados, como BOM, arquivos de relatório e assim por diante.
    • .Dat - é (re) gerado como parte da geração da lista técnica. Parece apenas conter informações redundantes.
    • .TLT - informações de layout da GUI.
    • .REP - Arquivo de relatório de lágrima.
  • Versão / considere a versão

    • Arquivos óbvios: .PcbDoc, .PrjPcb, .SchDoc, .OutJob, .PrjPcbVariants
    • .DsnWrk - Costumo descobrir que abro vários projetos de PCB não relacionados enquanto trabalho durante o dia, o que resulta em alterações no arquivo da área de trabalho. Como isso não é relevante para o controle de versão, costumo deixar de fora.
    • PcbLib, .SchLib, .PvLib - Um projeto pode conter algumas bibliotecas específicas do projeto.
    • .PrjPcbStructure - contém informações sobre a estrutura hierárquica. É (re) gerado na compilação. Pode ser versionado, pois quando a estrutura muda, uma confirmação está pendente de qualquer maneira.
    • .Annotation - Contém informações de anotação de componentes no nível da placa.
    • .Harness - Esses arquivos contêm a definição de chicote de fios e podem conter definições arbitrárias que não podem ser geradas.
Rev1.0
fonte
2

Você deseja controlar a versão dos arquivos .prjpcb (supondo que você tenha um projeto PCB!), .Prjpcbstructure, .pcbdoc e .schdoc.

O restante, como histórico, visualizações, saídas gerberas etc., é um tipo de arquivo transitório, não importante para o projeto.

editar: também esteja ciente do tamanho enorme dos arquivos "históricos", pois eles podem se transformar em muitas centenas de megabytes; portanto, você deve ajustar o tamanho do histórico nas preferências do projeto / Altium para mantê-lo sob controle, mesmo se toda a pasta estiver sendo ignorada pelo controle de arquivos da sub-versão, ele ainda consumirá espaço no disco rígido do seu PC.

KyranF
fonte