Apa sajakah sistem versi yang bagus untuk proyek perangkat keras? Apakah ada padanan dengan Google Code, CVS dan SVN? Apakah sistem kontrol versi seperti itu cocok untuk proyek perangkat keras yang melibatkan file PCB, skema .. (bahkan kode firmware)?
project-management
cksa361
sumber
sumber
Jawaban:
Pada dasarnya, semua sistem VCS dapat menangani file teks & biner dengan anggun. Tentu saja Anda tidak dapat menggabungkan yang biner.
Jadi selama Anda tidak menggunakan hal-hal usang seperti CVS Anda akan baik dengan sistem APAPUN.
sumber
Saya telah menggunakan Subversion dengan Altium sebelumnya. Ini berhasil, tetapi pada saat itu kurangnya alat diff membuatnya kurang berguna daripada kontrol versi dengan kode. Saya masih berpikir itu layak dilakukan, bahkan tanpa kemampuan diff.
Untuk firmware, Subversion atau Git keduanya bagus. Jika Anda belum pernah menggunakan Git sebelumnya, cobalah Subversion terlebih dahulu (meskipun itu akan membuat belajar Git lebih sulit nanti).
Altium baru-baru ini memperkenalkan alat diff untuk skema dan PCB, jadi saya berharap bahwa Subversion sekarang akan menjadi hebat, modulo kegilaan biasa yang dikelola vendor EDA untuk membangun ke dalam produk mereka.
Saya bermaksud mencoba ini dengan alat diff baru; jika saya melakukannya, saya akan mencoba untuk mengingat untuk mengirim tautan ke repo di sini sebagai contoh.
Memperbarui
Saya mencoba ini, dan saya harus mengatakan bahwa saya sedikit kekurangan alat Altium diff. Ini fungsional, tetapi perubahan di antara board revs cukup besar sehingga tidak terlalu berguna, setidaknya bagi saya. Setelah melihat ini, saya memutuskan untuk melupakan alat diff dan hanya menggunakan Github. Inilah repo jika Anda tertarik: https://github.com/rascalmicro/pcb
sumber
svn cp trunk/ tags/releaseX/
untuk mengambil snapshot dari rilis. Anda kemudian dapat melakukan diff releaseX / file dan releaseY / file jika Anda ingin melihat perubahan di antara rilis, atau Anda dapat menelusuri log komit dan melihat perubahan individu. Cabang membantu memodulasi banjir komitmen.Saya menggunakan klien VisualSVN Server + TortoiseSVN, dan berfungsi dengan baik
sumber
Saya menggunakan Google Code untuk menjadi tuan rumah Super OSD , proyek elektronik milik saya.
Saya secara eksklusif menggunakan suite gEDA untuk mengelola skema dan PCB saya. Bermanfaat, gEDA menghasilkan file teks (yang sebagian besar dapat dibaca manusia, meskipun sulit untuk menafsirkannya) untuk skema, bukan gumpalan biner, seperti Eagle. Sebagai contoh, ini adalah perbedaan antara dua skema , satu sekitar 5 hari dan yang baru saja saya dorong. Ini tidak terlalu berguna karena Anda tidak dapat benar-benar melihat banyak perubahan dalam file teks, tetapi itu dapat menunjukkan perubahan relatif - yaitu pengerjaan ulang besar-besaran, vs perubahan komponen tunggal - dan itu memang memungkinkan Anda kembali ke versi sebelumnya.
sumber
Caranya adalah dengan menggunakan sesuatu yang berfungsi baik dengan binari. Jika Anda sering menggunakan binari dan berbagi dengan yang lain, mungkin bermanfaat untuk menerapkan mekanisme penguncian pada file-file biner tersebut. Kami mengalami banyak masalah dengan menggunakan Subversion dengan file biner dan berbagi dengan orang lain yang muncul karena kurangnya semantik penguncian dan over-writing / menggabungkan file biner menjadi satu. Menambahkan mekanisme penguncian pada file-file tersebut menghilangkan kesalahan manusia dalam komunikasi tentang siapa yang mengedit / mengubah file biner.
Jika Anda belum pernah menggunakan kontrol versi sebelumnya, saya sarankan membaca tentang berbagai cara kerjanya, dan pilih satu untuk memenuhi kebutuhan Anda sehingga Anda dan / atau tim Anda dapat merasa nyaman. Sistem kontrol versi terdistribusi memberikan banyak manfaat dibandingkan sistem client-server, tetapi cenderung lebih rumit untuk dikerjakan.
sumber
Mengapa tidak hanya menggunakan Google Code atau repo SVN? Karena ini adalah sistem kontrol revisi. Tidak ada penggunaan yang ditentukan untuk itu. Ini sangat berguna untuk banyak pengembang dan memonitor perubahan dalam kode sumber.
sumber
Saya memang menggunakan SVN dengan integrasi Altium untuk penangkapan skematis: ini berfungsi dengan baik. Saya harus mengatakan bahwa penampil diff lebih baik daripada tidak memiliki apa-apa, karena file SchDoc saya adalah biner, yaitu mustahil untuk membandingkan sebaliknya! Saya menggunakan klien SVN yang terintegrasi dalam Altium Designer secara paralel dengan TortoiseSVN tanpa masalah. Klien Altium agak terbatas dalam hal fitur SVN. Saya melakukan "tag" saya dengan Tortoise.
Pendapat saya didasarkan pada Altium Designer 10 build 27009, dan versi 13.1 build 27559.
sumber
svn, hg, dan git semuanya bekerja dengan baik.
sumber
Bukan sistem kontrol versi nyata tetapi Dropbox menangani juga revisi file dan membuatnya tersedia untuk orang yang berbeda di OS yang berbeda. - Sistem kontrol versi orang miskin;)
sumber
Saya berada di Maker Faire di San Mateo akhir pekan lalu dan bertemu dengan beberapa perwakilan dari perusahaan baru (kepada saya) bernama Up-Verter . Mereka pada dasarnya membangun alat CAD listrik yang berjalan di "cloud" (yaitu di browser Anda) dan secara konseptual dibangun di sekitar kolaborasi, jadi harus berurusan dengan penggabungan / diff dan hal-hal versi yang biasa.
Saya belum mencobanya, dan masih terlihat sedikit hijau (jangan berpikir Anda benar-benar dapat melakukan tata letak PCB, hanya skema), tapi agak menarik. Mereka mengklaim bisa mengimpor file Eagle, yang merupakan nilai tambah.
Saya juga berbicara dengan perwakilan Eagle di tenda Elemen 14, dan mereka mengindikasikan bahwa mereka pindah ke format XML, yang merupakan semacam langkah besar menuju membuat versi skema dan tata letak lebih masuk akal ... semua kemajuan menarik di bagian depan ini !
sumber
Altium menambahkan dukungan ke versi kontrol Git seperti yang dapat Anda lihat di Catatan Rilis untuk Altium Designer .
Untuk mengetahui cara menggunakan, Anda dapat mengikuti panduan Menggunakan Versi ini .
sumber
Ini memang pertanyaan yang sangat bagus. Karena FPGA termasuk dalam kategori "perangkat keras", Anda mungkin tertarik dengan struktur proyek ramah versi kontrol yang saya usulkan untuk proyek FPGA:
http://www.saardrimer.com/fpgaproj/
Saya pikir ide dan konsep dapat dengan mudah diterapkan pada proyek perangkat keras lain, dan secara umum. (Komentar tentang proposal ini sangat disambut, btw.)
sumber
Hindari git. Itu tidak menangani repositori besar dengan baik. Dan repositori Anda akan menjadi besar kecuali Anda
sumber
Saya telah menggunakan beberapa repo Mercurial (HG) (satu per proyek) untuk ini, tetapi karena sebagian besar Sistem Kontrol Versi akan mengalami, repo semakin besar dan lebih besar.
sumber
Anda harus mencoba Babi . Perangkat ini dirancang untuk menangani file dan repositori besar. 100 GB atau lebih data biner tidak masalah.
sumber
Saya hanya ingin menambahkan tautan ke HgInit, pengantar yang sangat bagus untuk Mercurial jika Anda memutuskan untuk menggunakan rute itu. Secara pribadi saya menggunakan Git, tetapi mereka sangat mirip dalam hal arsitektur (keduanya adalah sistem kontrol versi terdistribusi). Sifat mereka yang terdistribusi membuat mereka hebat untuk bekerja dalam tim yang "terdistribusi" dengan baik. :)
http://hginit.com/
sumber
OpenPLM tampaknya menawarkan beberapa aspek dari apa yang Anda cari walaupun tampaknya tidak sedang dalam pengembangan aktif ( http://www.openplm.org/trac/discussion/topic/93 ).
Mungkin lihat di https://discuss.erpnext.com/t/erpnext-git-github-for-open-source-hardware-call-for-beta-user-s/18006 ("ERPNext: Git / Github for Perangkat Keras Sumber Terbuka - Memanggil Untuk Pengguna Beta ")
sumber
Ini layak untuk dipikirkan untuk setiap deskripsi perangkat keras ascii. Setelah deskripsi yang dapat dibaca manusia untuk perangkat keras diadopsi, sistem kontrol revisi modern (RCS) bekerja dengan baik. Tata letak sirkuit biasanya sepenuhnya dijelaskan oleh file Gerber, UML menjelaskan bagian lain, yang sepenuhnya merupakan deskripsi ascii. Lebih sedikit format ascii standar untuk skema, tata letak mekanis, dan sebagainya (misalnya KiCAD).
Adopsi lebih merupakan masalah praktis, membutuhkan persyaratan yang diakui untuk kontrol revisi yang baik, termasuk perbedaan yang berarti. Yang juga sering berarti menyerahkan Word, Excel, PowerPoint, dll. Argumen yang sangat sulit terhadap manajer dan MBA, tetapi bisa dibilang industri yang diatur seperti Alat Kesehatan, Penerbangan dan Militer sudah memerlukan kontrol revisi yang baik.
Seperti yang telah ditunjukkan orang lain, sebagian besar RCS modern akan merevisi file biner kontrol, yang sangat berguna untuk pengarsipan dan mengidentifikasi versi - tetapi sistem manajemen dokumen elektronik (EDMS), Agile misalnya, dapat menetapkan nomor revisi ke biner sewenang-wenang. Membosankan.
sumber
Meskipun tidak gratis, dan hampir tidak bebas bug, Altium vault melakukan pekerjaan sterling; Saya dapat memutar kembali ke titik komit dengan mudah (seperti yang seharusnya dilakukan VCS) dengan sangat mudah.
Di area ini, Altium jauh di depan alat premium (Mentor dan Cadence).
Saya tidak bekerja untuk Altium tetapi alat ini, meskipun masalah saat ini, membuat versi perangkat keras lengkap sangat sederhana.
sumber