Welche Dateien zur Versionskontrolle für ein Altium PCB-Projekt?

12

Ich versuche, die .gitignoreDatei für ein Altium-Projekt zu erstellen, das mit Git versioniert und remote auf GitHub gespeichert ist.

Ich möchte nicht, dass meine Teamkollegen ständig Probleme haben, jedes Mal eine Aktualisierung vorzunehmen, wenn ich eine kleine Änderung vornehme, z. B. Designregelprüfungen erneut ausführen oder das Projekt neu kompilieren. Was sind die minimalen Dateien, die ich meinem Versionskontrollsystem hinzufügen sollte?

# Ignore the subdirectory where output job outputs are placed
GeneratedOutput

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

# What else to ignore?
Tarabyte
quelle

Antworten:

11

Hier ist die Ignorierliste, die ich zum Verwalten von Altium-Dateien in SVN verwende. Ich bin mir sicher, dass sie ohne großen Aufwand in ein .gitignore-Format konvertiert werden können (wenn es überhaupt benötigt wird):

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

Beachten Sie, dass ich mit @KyranF nicht einverstanden bin und Sie die prjpcbstructureDateien nicht archivieren möchten . Sie werden jedes Mal neu generiert, wenn Sie das Projekt kompilieren, und es ist sowieso nichts drin. Sie sind funktional nur Build-Artefakte, und diese sollten nicht festgeschrieben werden.

Außerdem habe ich meinen Arsch ein paar Mal durch das History-Zeug gerettet bekommen. Wenn ein paar Hundert MB lokaler Speicher ein Problem sind, brauchst du 1. eine größere Festplatte und 2. um deine Prioritäten zu korrigieren, wenn ein paar Hundert MB ist überhaupt eine ernsthafte Überlegung.

Ich bin nicht einverstanden auch stark über Gerbers zu begehen. Wenn Sie versuchen, eine tatsächliche Leiterplatte kanonisch mit einer Reihe von Dateien zu verknüpfen, kann es von entscheidender Bedeutung sein, über die Gerber zu verfügen, insbesondere wenn beim Export und / oder der Verarbeitung von Gerber Probleme auftreten. Zugegeben, Sie sollten nicht jeden Tag Gerber-Dateien festschreiben (Sie sollten sich auch nicht die Mühe machen, sie täglich zu erstellen), aber Sie sollten IMMER jeden Satz Gerber festschreiben (und im Idealfall markieren), den Sie für die Herstellung freigeben.


Ich denke, es *~$*könnte der Indikator für temporäre Dateien für SolidWorks sein , nicht für Altium.

Connor Wolf
quelle
Ich denke, Gerbers, die für eine bestimmte "Version" eines PcbDoc generiert wurden, sind wichtig, um unter Versionskontrolle zusammenzuhalten, ein guter Punkt. Ich war mir bezüglich der prjpcbstructure-Datei unsicher, schien mir jedoch logisch, da sie möglicherweise Informationen darüber enthält, welche externen Dateien / Quellen während der jeweiligen Kompilierung des Projekts verwendet wurden, und später bei der Diagnose fehlender Dateien
hilfreich sein
Wenn Sie ein Board zur Herstellung einsenden, ist es eine gute Idee, den gesamten Ordner des PCB-Projekts (abzüglich des Verlaufs und anderer Dateien) zu komprimieren und in dem Zustand einzufrieren, in dem es gesendet wurde - das habe ich getan ein paar mal und auch ein paar mal vergessen, und wünschte, ich wäre konsequenter gewesen.
KyranF
@KyranF - Viele der Altium-Dateien, einschließlich der .PrjPcbStructureDateien, sind ASCII- Dateien. Sie können nachsehen, was sie codieren.
Connor Wolf
Fair genug, ich werde einen Look haben!
KyranF
Die .PrjPcb-Dateien sind auch ASCII-Dateien, was praktisch ist, wenn Sie Dinge verschoben haben. Sie können den Dateiinhalt manuell bearbeiten.
Connor Wolf
3

Als Ergänzung zu den anderen Antworten:

  • Nicht versionieren

    • Offensichtliche Dateien: Möglicherweise alle generierten Ausgaben wie Stücklisten, Berichtsdateien usw.
    • .Dat - Wird im Rahmen der Stücklistenerstellung (erneut) generiert. Scheint nur redundante Informationen zu enthalten.
    • .TLT - Informationen zum GUI-Layout.
    • .REP - Teardrop Report-Datei.
  • Versionierung durchführen / Versionierung erwägen

    • Offensichtliche Dateien: .PcbDoc, .PrjPcb, .SchDoc, .OutJob, .PrjPcbVariants
    • .DsnWrk - Ich stelle oft fest, dass ich während der Arbeit am Tag mehrere nicht zusammenhängende PCB-Projekte öffne, was zu Änderungen an der Arbeitsbereichsdatei führt. Da dies für die Versionskontrolle nicht relevant ist, neige ich dazu, es wegzulassen.
    • PcbLib, .SchLib, .PvLib - Ein Projekt kann einige projektspezifische Bibliotheken enthalten.
    • .PrjPcbStructure - Enthält Informationen zur hierarchischen Struktur. Es wird beim Kompilieren (neu) generiert. Kann versioniert werden, da ohnehin ein Commit ansteht, wenn sich die Struktur ändert.
    • .Annotation - Enthält Annotationsinformationen zu Komponenten auf Board-Ebene.
    • .Harness - Diese Dateien enthalten Harness-Definitionen und können möglicherweise beliebige Definitionen enthalten, die nicht generiert werden können.
Rev1.0
quelle
2

Sie möchten die .prjpcb-, .prjpcbstructure-, .pcbdoc- und .schdoc-Dateien versionieren (vorausgesetzt, Sie haben ein PCB-Projekt!).

Der Rest, wie der Verlauf, die Vorschauen, die Gerberausgaben usw., sind vorübergehende Dateien, die für das Projekt nicht wichtig sind.

Bearbeiten: Beachten Sie auch die enorme Größe von "Verlaufsdateien", da diese viele hundert Megabyte groß sein können. Passen Sie daher die Verlaufsgröße in den Projekt- / Altium-Einstellungen an, um die Kontrolle zu behalten, auch wenn der gesamte Ordner ignoriert wird Durch die Subversion-Dateikontrolle wird immer noch Festplattenspeicher auf Ihrem PC belegt.

KyranF
quelle