Które pliki do kontroli wersji dla projektu Altium PCB?

12

Próbuję utworzyć .gitignoreplik dla projektu Altium, który jest wersjonowany przy pomocy git i przechowywany zdalnie na GitHub.

Nie chcę, aby moi koledzy z zespołu nieustannie zmagali się z koniecznością aktualizacji za każdym razem, gdy wprowadzam niewielką zmianę, na przykład ponownie uruchamiam sprawdzanie reguł projektowania lub ponownie kompiluję projekt. Jakie są minimalne pliki, które powinienem dodać do mojego systemu kontroli wersji?

# Ignore the subdirectory where output job outputs are placed
GeneratedOutput

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

# What else to ignore?
tarabajt
źródło

Odpowiedzi:

11

Oto lista zignorowania, której używam do zarządzania plikami Altium w SVN. Jestem pewien, że można je przekonwertować do formatu .gitignore (jeśli jest to nawet potrzebne) bez większych problemów:

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

Pamiętaj, że nie zgadzam się z @KyranF, nie chcesz archiwizować prjpcbstructureplików. Są całkowicie regenerowane za każdym razem, gdy kompilujesz projekt, i tak naprawdę nic tam nie ma. Są to po prostu artefakty budowania i nie należy ich popełniać.

Poza tym kilka razy zapisałem tyłek dzięki Historii, jeśli problem stanowi kilkaset MB lokalnej pamięci, potrzebujesz 1. Większy dysk twardy i 2. Aby naprawić swoje priorytety, jeśli kilkaset MB to poważna kwestia.

Nie zgadzam się też zdecydowanie z popełnianiem gerberów. Jeśli próbujesz kanonicznie połączyć rzeczywistą płytkę drukowaną z zestawem plików, posiadanie gerbera może być niezbędne, szczególnie gdy coś pójdzie nie tak na etapie eksportu i / lub przetwarzania gerbera. Trzeba przyznać, że nie powinieneś codziennie dopuszczać się plików gerber (nie powinieneś też zadawać sobie trudu, aby je codziennie tworzyć), ale ZAWSZE powinieneś zatwierdzać (i najlepiej oznaczać) każdy zestaw gerberów, które wypuszczasz do produkcji.


Myślę, że *~$*może to być tymczasowy wskaźnik pliku dla SolidWorks , a nie Altium.

Connor Wolf
źródło
Wydaje mi się, że generowanie gerberów dla konkretnej „wersji” PcbDoc jest ważne, aby trzymać się razem pod kontrolą wersji, dobra uwaga. I nie byłem pewien, czy plik prjpcbstructure wydaje mi się logiczny, ponieważ może zawierać informacje o tym, jakie zewnętrzne pliki / źródła zostały użyte podczas tej konkretnej kompilacji projektu i może pomóc w późniejszym zdiagnozowaniu brakujących plików
KyranF
Kiedy wysyłasz płytę do produkcji, dobrym pomysłem jest spakowanie całego folderu projektu PCB (bez bzdur historii i innych plików) i zamrożenie go w stanie, w jakim został wysłany - zrobiłem to kilka razy, a także kilka razy zapomniałem i chciałbym być bardziej konsekwentny.
KyranF,
@ KyranF - Wiele plików altium to ASCII, w tym .PrjPcbStructurepliki. Możesz zajrzeć i zobaczyć, co kodują.
Connor Wolf,
uczciwie, będę miał looksie!
KyranF,
Pliki .PrjPcb są również ASCII, co jest wygodne, jeśli przenosisz różne rzeczy. Możesz ręcznie edytować zawartość pliku.
Connor Wolf,
3

Jako dodatek do innych odpowiedzi:

  • Nie wersjonuj

    • Oczywiste pliki: potencjalnie wszystkie wygenerowane dane wyjściowe, takie jak BOM, pliki raportów i tak dalej.
    • .Dat - Jest (ponownie) generowany jako część generowania BOM. Wydaje się, że zawiera tylko zbędne informacje.
    • .TLT - informacje o układzie GUI.
    • .REP - plik raportu łzy.
  • Wykonaj wersję / rozważ wersję

    • Oczywiste pliki: .PcbDoc, .PrjPcb, .SchDoc, .OutJob, .PrjPcbVariants
    • .DsnWrk - Często stwierdzam, że otwieram kilka niepowiązanych projektów PCB podczas pracy przez cały dzień, co powoduje zmiany w pliku obszaru roboczego. Ponieważ nie ma to wpływu na kontrolę wersji, zwykle pomijam to.
    • PcbLib, .SchLib, .PvLib - Projekt może zawierać niektóre biblioteki specyficzne dla projektu.
    • .PrjPcbStructure - Zawiera informacje o strukturze hierarchicznej. Zostaje (ponownie) wygenerowany podczas kompilacji. Może być wersjonowany, ponieważ gdy struktura się zmienia, i tak czeka na zatwierdzenie.
    • Adnotacja - zawiera informacje o adnotacjach na poziomie płyty.
    • .Harness - te pliki zawierają definicję wiązki przewodów i mogą potencjalnie zawierać dowolne definicje, których nie można wygenerować.
Rev1.0
źródło
2

Chcesz kontrolować wersję plików .prjpcb (zakładając, że masz projekt PCB!), .Prjpcbstructure, .pcbdoc i .schdoc.

Reszta, taka jak historia, podglądy, wyjścia Gerbera itp. Są rodzajem plików przejściowych, nieistotnych dla projektu.

edycja: należy również pamiętać o ogromnym rozmiarze plików „historii”, mogą one stać się setkami megabajtów, dlatego należy dostosować rozmiar historii w preferencjach projektu / Altium, aby zachować kontrolę, nawet jeśli cały folder jest ignorowany dzięki kontroli plików pod wersji nadal będzie zajmował miejsce na dysku twardym na twoim komputerze.

KyranF
źródło