Quels fichiers pour contrôler la version d'un projet Altium PCB?

12

J'essaie de créer le .gitignorefichier pour un projet Altium qui est versionné avec git et stocké à distance sur GitHub.

Je ne veux pas que mes coéquipiers peinent continuellement à devoir mettre à jour chaque fois que j'apporte une petite modification, comme réexécuter les vérifications des règles de conception ou recompiler le projet. Quels sont les fichiers minimum que je devrais ajouter à mon système de contrôle de version?

# Ignore the subdirectory where output job outputs are placed
GeneratedOutput

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

# What else to ignore?
tarabyte
la source

Réponses:

11

Voici la liste des ignorés que j'utilise pour gérer les fichiers Altium dans SVN. Je suis sûr qu'ils peuvent être convertis au format .gitignore (si c'est même nécessaire) sans trop de problèmes:

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

Notez que je suis en désaccord avec @KyranF, vous ne pas à archiver les prjpcbstructurefichiers. Ils sont entièrement régénérés chaque fois que vous compilez le projet, et il n'y a vraiment rien de toute façon. Ils ne sont fonctionnellement que des build-artefacts, et ceux-ci ne doivent pas être validés.

De plus, mon cul a été sauvegardé plusieurs fois par l'historique, si quelques centaines de Mo de stockage local sont un problème, vous en avez besoin 1. Un disque dur plus gros et 2. Pour fixer vos priorités, si quelques centaines Le MB est une considération sérieuse.

Je suis également fortement en désaccord sur l'engagement de gerber. Si vous essayez de lier de manière canonique un PCB réel à un ensemble de fichiers, avoir les gerbers peut être essentiel, en particulier lorsque les choses tournent mal lors de l'exportation et / ou du traitement du gerber. Certes, vous ne devriez pas créer de fichiers gerber tous les jours (vous ne devriez pas non plus vous soucier de les créer tous les jours), mais vous devez TOUJOURS valider (et idéalement étiqueter) chaque ensemble de gerber que vous publiez en fabrication.


Je pense que c'est *~$*peut-être l'indicateur de fichier temporaire pour SolidWorks , pas Altium.

Connor Wolf
la source
Je suppose que les gerbers générés pour une "version" particulière d'un PcbDoc sont importants pour rester ensemble sous contrôle de version, bon point. Et je n'étais pas sûr du fichier prjpcbstructure, mais il m'a semblé logique, car il peut inclure des informations sur les fichiers / sources externes utilisés lors de cette compilation particulière du projet et peut aider à diagnostiquer les fichiers manquants plus tard
KyranF
Lorsque vous envoyez une carte pour la fabrication, c'est une bonne idée de compresser le dossier entier du projet PCB (moins l'historique et les autres fichiers) et de le geler dans l'état où il a été envoyé - je l'ai fait quelques fois, et aussi oublié quelques fois, et j'aurais aimé être plus cohérent.
KyranF
@KyranF - Beaucoup de fichiers altium sont ASCII, y compris les .PrjPcbStructurefichiers. Vous pouvez regarder à l'intérieur et voir ce qu'ils encodent.
Connor Wolf
assez juste, je vais avoir un lookie!
KyranF
Les fichiers .PrjPcb sont également ASCII, ce qui est pratique si vous avez déplacé des éléments. Vous pouvez modifier manuellement le contenu du fichier.
Connor Wolf
3

En complément des autres réponses:

  • Ne pas version

    • Fichiers évidents: potentiellement toutes les sorties générées, comme la nomenclature, les fichiers de rapport, etc.
    • .Dat - Est (re) généré dans le cadre de la génération de la nomenclature. Ne semble contenir que des informations redondantes.
    • .TLT - Informations sur la disposition de l'interface graphique.
    • .REP - Fichier de rapport Teardrop.
  • Faire la version / envisager le versioning

    • Fichiers évidents: .PcbDoc, .PrjPcb, .SchDoc, .OutJob, .PrjPcbVariants
    • .DsnWrk - Je trouve souvent que j'ouvre plusieurs projets PCB non liés tout en travaillant toute la journée, ce qui entraîne des modifications dans le fichier de l'espace de travail. Comme cela n'est pas pertinent pour le contrôle de version, j'ai tendance à le laisser de côté.
    • PcbLib, .SchLib, .PvLib - Un projet peut contenir certaines bibliothèques spécifiques au projet.
    • .PrjPcbStructure - Contient des informations sur la structure hiérarchique. Il est (re) généré lors de la compilation. Peut être versionné, car lorsque la structure change, un commit est de toute façon en attente.
    • .Annotation - Contient des informations d'annotation de composant de niveau carte.
    • .Harness - Ces fichiers contiennent une définition de harnais et peuvent potentiellement contenir des définitions arbitraires qui ne peuvent pas être générées.
Rev1.0
la source
2

Vous souhaitez contrôler la version des fichiers .prjpcb (en supposant que vous avez un projet PCB!), .Prjpcbstructure, .pcbdoc et .schdoc.

Le reste, comme l'historique, les aperçus, les sorties gerber, etc. sont en quelque sorte des fichiers transitoires, sans importance pour le projet.

modifier: soyez également conscient de la taille énorme des fichiers "historique", ils peuvent devenir plusieurs centaines de mégaoctets, vous devez donc ajuster la taille de l'historique dans les préférences du projet / Altium pour le garder sous contrôle, même si tout ce dossier est ignoré par le contrôle de fichier de sous-version, il consommera toujours de l'espace disque dur sur votre PC.

KyranF
la source