Jakie są dobre systemy kontroli wersji dla projektów sprzętowych? Czy istnieją odpowiedniki kodu Google, CVS i SVN? Czy takie systemy kontroli wersji są odpowiednie dla projektów sprzętowych obejmujących pliki PCB, schematy ... (nawet kod oprogramowania)?
project-management
cksa361
źródło
źródło
Odpowiedzi:
Zasadniczo wszystkie systemy VCS mogą z łatwością obsługiwać pliki tekstowe i binarne. Oczywiście nie można łączyć tych binarnych.
Tak długo, jak nie używasz przestarzałych rzeczy, takich jak CVS, będziesz dobry w ŻADNYM systemie.
źródło
Wcześniej korzystałem z Subversion z Altium. Działa z powodzeniem, ale w tym czasie brak narzędzia różnicującego czyniło go mniej użytecznym niż kontrola wersji z kodem. Nadal uważam, że warto było to robić, nawet bez możliwości różnicowania.
W przypadku oprogramowania układowego zarówno Subversion, jak i Git są świetne. Jeśli nie korzystałeś wcześniej z Git, najpierw wypróbuj Subversion (nawet jeśli później utrudni to naukę Git).
Altium niedawno wprowadziło narzędzie do porównywania schematów i obwodów drukowanych, więc oczekuję, że Subversion będzie teraz świetne, modulo zwykłe szaleństwo, które producenci EDA potrafią wbudować w swoje produkty.
Chciałem to wypróbować za pomocą nowego narzędzia do porównywania; jeśli to zrobię, postaram się pamiętać, aby opublikować tutaj link do repozytorium jako przykład.
Aktualizacja
Wypróbowałem to i muszę powiedzieć, że jestem trochę rozczarowany narzędziem do różnicowania Altium. Jest funkcjonalny, ale zmiany między obrotami płyty są na tyle znaczne, że nie są tak przydatne, przynajmniej dla mnie. Widząc to, postanowiłem zapomnieć o narzędziu do porównywania i po prostu użyć Github. Oto repozytorium, jeśli jesteś zainteresowany: https://github.com/rascalmicro/pcb
źródło
svn cp trunk/ tags/releaseX/
aby zrobić migawkę wydania. Następnie możesz różnicować plik releaseX / file i releaseY / file, jeśli chcesz zobaczyć zmiany między wydaniami lub możesz przeglądać dzienniki zatwierdzeń i zobaczyć poszczególne zmiany. Oddziały pomagają w modularyzacji zalewu zobowiązań.Używam VisualSVN Server + TortoiseSVN i działa dobrze
źródło
Używam Google Code do hostowania Super OSD , mojego projektu elektronicznego.
Używam wyłącznie pakietu gEDA do zarządzania moimi schematami i PCB. Przydatnie, gEDA tworzy pliki tekstowe (które są w większości czytelne dla ludzi, chociaż trudno je interpretować) dla schematów zamiast binarnych obiektów blob, takich jak Eagle. Na przykład jest to różnica między dwoma schematami , jednym około 5 dni i tym, który właśnie wypchnąłem. Nie jest to szczególnie przydatne, ponieważ w rzeczywistości nie widzisz dużych zmian w plikach tekstowych, ale może pokazywać względne zmiany - tj. Ogromną przeróbkę w porównaniu do zmiany pojedynczego składnika - i pozwala wrócić do poprzednich wersji.
źródło
Sztuką jest użycie czegoś, co dobrze działa z plikami binarnymi. Jeśli często używasz plików binarnych i udostępniasz je innym, może być korzystne wdrożenie mechanizmu blokującego na tych plikach binarnych. Mamy wiele problemów z używaniem Subversion do plików binarnych i dzieleniem się z innymi, które powstały z powodu braku blokowania semantyki i nadmiernego zapisu / scalania plików binarnych razem. Dodanie mechanizmu blokującego do tych plików usuwa błąd ludzki w komunikacji na temat tego, kto edytował / zmienił plik binarny.
Jeśli wcześniej nie korzystałeś z kontroli wersji, zalecamy zapoznanie się z różnymi sposobami ich działania i wybranie jednej z nich, aby zaspokoić Twoje potrzeby, z którymi Ty i / lub Twój zespół możecie czuć się swobodnie. Rozproszone systemy kontroli wersji zapewniają wiele korzyści w porównaniu z systemami klient-serwer, ale praca z nimi jest bardziej skomplikowana.
źródło
Dlaczego nie skorzystać z Google Code lub repozytorium SVN? Ponieważ jest to system kontroli wersji. Nie ma określonego zastosowania. Jest to po prostu niezwykle przydatne dla wielu programistów i monitorowania zmian w kodzie źródłowym.
źródło
Używam SVN z integracją Altium do przechwytywania schematów: działa dobrze. Muszę powiedzieć, że przeglądarka różnic jest lepsza niż nic, ponieważ moje pliki SchDoc są binarne, tzn. Niemożliwe do porównania inaczej! Bez problemu korzystam z klienta SVN zintegrowanego z Altium Designer równolegle z TortoiseSVN. Klient Altium jest nieco ograniczony pod względem funkcji SVN. Robię swoje „tagi” za pomocą Tortoise.
Moja opinia oparta jest na Altium Designer 10 build 27009 i wersji 13.1 build 27559.
źródło
SVN, HG i GIT działają dobrze.
źródło
Nie jest to prawdziwy system kontroli wersji, ale Dropbox obsługuje również rewizję plików i udostępnia je różnym osobom na różnych systemach operacyjnych. - zły system kontroli wersji mans;)
źródło
Byłem w Maker Faire w San Mateo w miniony weekend i spotkałem przedstawicieli z nowej (dla mnie) firmy o nazwie Up-Verter . Zasadniczo budują elektryczne narzędzie CAD, które działa w „chmurze” (tj. W przeglądarce) i jest koncepcyjnie zbudowane wokół współpracy, więc powinno zajmować się scalaniem / różnicowaniem i zwykłymi wersjami.
Jeszcze go nie wypróbowałem i wciąż wygląda trochę zielono (nie sądzę, że możesz zrobić układ pcb, tylko schematy), ale to trochę intrygujące. Twierdzili, że mogą importować pliki Eagle, co jest plusem.
Rozmawiałem również z przedstawicielami Eagle w namiocie Element 14, i wskazali, że przechodzą do formatu XML, co jest swego rodzaju dużym krokiem w kierunku uczynienia wersjonowania schematów i układu bardziej wiarygodnymi ... wszystkie interesujące ulepszenia na tym froncie !
źródło
Altium dodało obsługę wersji kontrolnej Git, jak widać w Informacjach o wydaniu dla Altium Designer .
Aby dowiedzieć się, jak korzystać, postępuj zgodnie z tym przewodnikiem Korzystanie z Kontroli wersji .
źródło
To jest naprawdę bardzo dobre pytanie. Ponieważ układy FPGA należą do kategorii „sprzęt”, możesz zainteresować się strukturą przyjazną dla kontroli wersji, którą proponuję dla projektów FPGA:
http://www.saardrimer.com/fpgaproj/
Myślę, że pomysły i koncepcje można łatwo zastosować do innych projektów sprzętowych i ogólnie. (Komentarze do tej propozycji są bardzo mile widziane, btw.)
źródło
Unikaj gita. Nie radzi sobie dobrze z dużymi repozytoriami. A twoje repozytoria staną się duże, chyba że ty
źródło
Używałem do tego wielu repozytoriów Mercurial (HG) (po jednym na projekt), ale jak zauważy większość systemów kontroli wersji, repozytoria stają się coraz większe.
źródło
Powinieneś spróbować Dzika . Jest zaprojektowany od podstaw do obsługi dużych plików i repozytoriów. 100 GB lub więcej danych binarnych nie stanowi problemu.
źródło
Chciałbym tylko dodać link do HgInit, doskonałe wprowadzenie do Mercurial, jeśli zdecydujesz się wybrać tę trasę. Osobiście używam Git, ale są bardzo podobne pod względem architektury (oba są rozproszonymi systemami kontroli wersji). Ich rozproszony charakter sprawia, że świetnie nadają się do pracy w dobrze „rozproszonych” zespołach. :)
http://hginit.com/
źródło
Wydaje się, że OpenPLM oferuje pewne aspekty tego, czego szukasz, chociaż wydaje się, że nie jest w aktywnym rozwoju ( http://www.openplm.org/trac/discussion/topic/93 ).
Może zajrzyj na https://discuss.erpnext.com/t/erpnext-git-github-for-open-source-hardware-call-for-beta-user-s/18006 („ERPNext: Git / Github dla Sprzęt Open Source - użytkownik (użytkownicy) w wersji beta ”)
źródło
Warto o tym pomyśleć przy każdym ascii opisie sprzętu. Po przyjęciu czytelnego dla człowieka opisu sprzętu, każdy nowoczesny system kontroli wersji (RCS) działa całkiem dobrze. Układy obwodów są zazwyczaj w pełni opisane przez pliki Gerbera, UML opisuje inne części, które są w pełni opisami ascii. Istnieją mniej standardowe formaty ascii dla schematów, układu mechanicznego i tak dalej (na przykład KiCAD).
Adopcja jest bardziej praktycznym zagadnieniem, wymaga uznanego wymogu dobrej kontroli wersji, w tym znaczącej różnicy. Co często oznacza także rezygnację z Worda, Excela, PowerPointa itp. Bardzo trudny argument przeciwko menedżerom i MBA, ale prawdopodobnie regulowane branże, takie jak wyroby medyczne, lotnictwo i wojsko, już wymagają dobrej kontroli zmian.
Jak zauważyli inni, większość współczesnych RCS zmieni kontrolę plików binarnych, co jest bardzo przydatne do archiwizacji i identyfikacji wersji - ale każdy elektroniczny system zarządzania dokumentami (EDMS), na przykład Agile, może przypisać numer wersji do dowolnego pliku binarnego. Nudny.
źródło
Chociaż nie jest wolny i nie jest wolny od błędów, skarbca Altium wykonuje znakomitą robotę; Z łatwością mogę cofnąć się do dowolnego punktu zatwierdzenia (tak jak powinien to zrobić każdy VCS).
W tym obszarze, Altium jest droga przed Premium (Mentor i Cadence) narzędzia.
Ja nie pracować dla Altium ale to narzędzie, mimo obecnych problemów, należy kompletny sprzęt wersjonowania bardzo proste.
źródło