Donanım projeleri için iyi versiyonlama sistemlerinden bazıları nelerdir? Eşdeğer Google Kodu, CVS ve SVN var mı? Bu tür sürüm kontrol sistemleri, PCB dosyalarını, şemaları (donanım yazılımı kodu) içeren donanım projeleri için uygun mudur?
Donanım projeleri için iyi versiyonlama sistemlerinden bazıları nelerdir? Eşdeğer Google Kodu, CVS ve SVN var mı? Bu tür sürüm kontrol sistemleri, PCB dosyalarını, şemaları (donanım yazılımı kodu) içeren donanım projeleri için uygun mudur?
Yanıtlar:
Temel olarak, tüm VCS sistemleri metin ve ikili dosyaları incelikle ele alabilir. Tabii ki ikili olanları birleştiremezsiniz.
CVS gibi eski şeyleri kullanmadığınız sürece HERHANGİ bir sistemde iyi olacaksınız.
Subversion'u daha önce Altium ile birlikte kullandım. Başarılı bir şekilde çalıştı, ancak bir diff aracının olmayışı, sürüm kontrolünün kodda olduğundan daha az kullanışlı olmasını sağladı. Yine de, farklı yetenekler olmadan bile, yapmaya değdiğini düşünüyorum.
Firmware için Subversion veya Git'in ikisi de harika. Git'i daha önce kullanmadıysanız, önce Subversion'u deneyin (Git'i daha sonra öğrenmeyi zorlaştırsa bile).
Altium geçtiğimiz günlerde şemalar ve PCB'ler için farklı bir araç ortaya çıkardı, bu yüzden Subversion'un şimdiden harika olacağını umuyorum, EDA üreticilerinin ürünlerini oluşturmayı başarabildikleri olağan deliliğin modulo'su.
Bunu yeni fark aracıyla denemek istedim; yaparsam, örnek olarak burada repoya bir link göndermeyi hatırlamaya çalışacağım.
Güncelleme
Bunu denedim ve biraz Altium diff aracıyla iç içe olduğumu söylemeliyim. İşlevsel, ancak yönetim kurulu devirleri arasındaki değişiklikler, en azından benim için o kadar da faydalı olmayacak kadar önemli. Bunu gördükten sonra, diff aracını unutmaya ve sadece Github'ı kullanmaya karar verdim. İşte ilgileniyorsanız repo: https://github.com/rascalmicro/pcb
svn cp trunk/ tags/releaseX/
sürümün anlık görüntüsünü almak için kullanın . Daha sonra, sürümler arasındaki değişiklikleri görmek istiyorsanız, releaseX / file ve releaseY / file'ları dağıtabilir veya taahhüt günlüklerine göz atabilir ve bireysel değişiklikleri görebilirsiniz. Branşlar, taşkın selinin modüle edilmesine yardımcı olmaktadır.
Elektronik Kod projem olan Super OSD'yi barındırmak için Google Code kullanıyorum .
Yalnızca şemalarımı ve PCB'leri yönetmek için gEDA takımını kullanıyorum. Faydalı bir şekilde, gEDA, Eagle gibi ikili bloblar yerine, şemalar için metin dosyaları (çoğunlukla insan tarafından okunabilir, ancak bunları yorumlamak zor olsa da) üretir. Örneğin, bu iki şema arasındaki farktır , biri yaklaşık 5 günlük diğeri ise yeni bastırdım. Metin dosyalarında pek fazla değişiklik göremediğiniz için özellikle kullanışlı değildir, ancak göreceli bir değişiklik gösterebilir - yani büyük yeniden işleme, tek bileşenli değişiklik - ve önceki sürümlere geri dönmenize izin verir.
İşin püf noktası, ikili dosyalarla iyi çalışan bir şey kullanmaktır. İkili dosyalar çok kullanıyorsanız ve başkalarıyla paylaşıyorsanız, bu ikili dosyalar üzerinde bir kilitleme mekanizması uygulamak yararlı olabilir. İkili dosyalar ile Subversion kullanma ve semantiği kilitleme ve ikili dosyaları bir arada yazma / birleştirme eksikliği nedeniyle ortaya çıkan diğer kişilerle paylaşma konusunda birçok sorunla karşılaştık. Bu dosyalar üzerinde bir kilitleme mekanizması eklemek, ikili dosyayı düzenleyen / değiştiren iletişimdeki insan hatasını ortadan kaldırır.
Sürüm kontrolünü daha önce kullanmadıysanız, çalıştıkları farklı yolları okumanızı ve sizin ve / veya ekibinizin rahat edebileceği ihtiyaçlarınızı karşılamak için birini seçmenizi tavsiye ederim. Dağıtılmış sürüm kontrol sistemleri, istemci-sunucu sistemlerine göre birçok avantaj sağlar, ancak çalışmak için daha karmaşık olma eğilimindedir.
Neden sadece Google Kodunu veya bir SVN deposunu kullanmıyorsunuz? Bu bir revizyon kontrol sistemidir. Bunun için tanımlanmış bir kullanım yoktur. Birden fazla geliştirici ve kaynak koddaki değişiklikleri izlemek için inanılmaz derecede kullanışlıdır.
Subversion'u daha önce Altium ile birlikte kullandım.
Şematik yakalama için Altium entegrasyonu ile SVN kullanıyorum: iyi çalışıyor. Diff görüntüleyicinin hiçbir şey yapmamaktan daha iyi olduğunu söylemeliyim, çünkü SchDoc dosyalarım ikili, yani başka türlü karşılaştırmak imkansız! Altium Designer'a entegre SVN istemcisini TortoiseSVN ile paralel olarak sorunsuz şekilde kullanıyorum. Altium'un müşterisi, SVN özellikleri açısından biraz sınırlıdır. "Etiketler "imi Tortoise ile yapıyorum.
Bence Altium Designer 10 build 27009 ve sürüm 13.1 build 27559'a dayanıyor.
svn, hg ve git hepsi iyi çalışıyor.
Gerçek bir sürüm kontrol sistemi değil, Dropbox da dosyaların revizyonunu yapar ve farklı işletim sistemlerinde farklı insanlar için kullanılabilir olmasını sağlar. - yoksul adamın versiyon kontrol sistemi;)
Geçtiğimiz hafta sonu San Mateo'daki Maker Faire'deydim ve Up-Verter adındaki yeni (benim için) bir şirketin bazı temsilcileriyle tanıştım . Temel olarak "bulutta" çalışan (yani tarayıcınızda) elektrikli bir CAD aracı inşa ediyorlar ve kavramsal olarak işbirliği içinde inşa ediyorlar, bu nedenle birleştirme / fark ve normal versiyonlama şeyleriyle ilgilenmeliler.
Henüz denemedim ve hala biraz yeşil görünüyor (aslında henüz pcb düzeni yapabileceğinizi düşünmeyin, sadece şemalar), ama bu biraz merak uyandırıcı. Bir artı olan Eagle dosyalarını içe aktarabileceklerini iddia ettiler.
Ayrıca, Element 14 çadırındaki Eagle temsilcileriyle de konuştum ve bir şematik biçimine geçtiklerini belirttiler. !
Altium iyi haber!
Altium , Altium Designer için Sürüm Notlarında görebileceğiniz gibi Git kontrol sürümüne destek eklendi .
Nasıl kullanılacağını bilmek için bu Sürüm Kontrolü Kullanma kılavuzunu takip edebilirsiniz .
Bu gerçekten çok iyi bir soru. FPGA'lar "donanım" kategorisine girdiğinden, FPGA projeleri için önerdiğim sürüm kontrolü dostu bir proje yapısıyla ilgilenebilirsiniz:
http://www.saardrimer.com/fpgaproj/
Fikirlerin ve kavramların diğer donanım projelerine ve genel olarak kolayca uygulanabileceğini düşünüyorum. (Bu teklifle ilgili yorumlarınızı bekliyoruz, btw.)
Gitten kaçının. Büyük depoları iyi işlemez. Siz depolarsanız depolarınız da büyüyecek
Domuzu denemelisin . Büyük dosya ve depoları işlemek için temelde tasarlanmıştır. 100 GB veya daha fazla ikili veri sorun değil.
HgInit'e bir link eklemek istiyorum, eğer o rotaya gitmeye karar verirseniz Mercurial için mükemmel bir giriş. Şahsen Git'i kullanıyorum, ancak mimari açıdan çok benzerler (ikisi de dağıtılmış sürüm kontrol sistemleridir). Dağınık doğası, onları "dağıtık" ekipleri olarak iyi çalışmaları için harika kılar. :)
OpenPLM, aktif gelişimde görünmese de, aradığınızı bazı yönleri sunuyor gibi görünmektedir ( http://www.openplm.org/trac/discussion/topic/93 ).
Belki https://discuss.erpnext.com/t/erpnext-git-github-for-open-source-hardware-call-for-beta-user-s/18006 ("ERPNext: Git / Github for Açık Kaynak Donanımı - Beta Kullanıcısını / Kullanıcılarını Arayın ")
Bu, donanımın asi açıklamaları için düşünmeye değer. Donanım için okunabilir bir açıklama yapıldıktan sonra, herhangi bir modern revizyon kontrol sistemi (RCS) oldukça iyi çalışıyor. Devre düzenleri tipik olarak Gerber dosyaları tarafından tam olarak tanımlanmaktadır, UML, tamamen ayrıntılı açıklamaları olan diğer parçaları açıklamaktadır. Şemalar, mekanik düzenler vb. İçin daha az standart ASCI formatları mevcuttur (örneğin KiCAD).
Evlat edinme daha pratik bir konudur, anlamlı bir fark da dahil olmak üzere iyi revizyon kontrolü için kabul edilmiş bir gereklilik gerektirir. Bu da genellikle Word, Excel, PowerPoint, vb. Vazgeçmek anlamına gelir. Yöneticiler ve MBA'lere karşı çok zor bir tartışma, ancak Tıbbi Cihazlar, Havacılık ve Askeri gibi tartışmalı bir şekilde düzenlenmiş endüstriler zaten iyi revizyon kontrolü gerektiriyor.
Diğerlerinin de belirttiği gibi, çoğu modern RCS, sürümleri arşivlemek ve tanımlamak için çok yararlı olan ikili dosyaları kontrol eder, ancak örneğin Agile, herhangi bir elektronik doküman yönetim sistemi (EDMS) keyfi bir ikiliye bir revizyon numarası atayabilir. Sıkıcı.
Her ne kadar ücretsiz olmasa ve neredeyse hiç hatasız olmasa da, Altium kasası sterlini yapıyor; Kolayca herhangi bir taahhüt noktasına geri dönebilirim (tıpkı herhangi bir VCS'nin yapması gerektiği gibi) çok kolay.
Bu alanda, Altium olduğu yolu ileride prim (Mentor ve Cadence) araçları.
Ben do not Altium için çalışmak ancak bu araç, güncel konulara rağmen, çok basit sürüm tam donanım olun.