Sistem kontrol versi untuk laboratorium kecil?

Saya seorang mahasiswa pascasarjana di bidang Teknik Elektro, dan lab saya memiliki berbagai proyek yang berkaitan dengan ultrasonik. Kami memiliki banyak kode untuk melakukan simulasi, tetapi saat ini situasi kami sedemikian rupa sehingga setiap skrip memiliki ~5 versi berbeda. Selain itu, satu orang mungkin mengembangkan kode untuk mensimulasikan perambatan gelombang, sementara orang lain memerlukan kode tersebut untuk melakukan simulasi yang berbeda. Hal ini mengakibatkan kode dikirim bolak-balik melalui email.

Saya menyarankan kontrol versi kepada penasihat saya, dan dia mengatakan bahwa dia menyukainya, tetapi tidak punya waktu untuk mengelola VCS, jadi VCS harus diatur sedemikian rupa sehingga memerlukan pemeliharaan sesedikit mungkin. Tentu saja, kami tidak merilis perangkat lunak ke publik, jadi tidak masalah jika struktur internalnya tidak konvensional.

Sebagian besar lab bukanlah pembuat kode profesional, tetapi kita semua perlu menulis kode MATLAB serta beberapa hal lainnya. Jadi, saya tidak berharap pengguna begitu baik dalam hal komitmen bersih dan sejenisnya, jadi akan lebih baik jika setiap orang memiliki "tempat kerja" sendiri atau semacamnya. Tapi sejujurnya, saya hanya pernah menggunakan kontrol versi untuk 3 orang sekaligus, jadi saya tidak yakin bagaimana cara mengaturnya.

Jadi saya bertanya apa cara terbaik untuk melakukan ini. Saya hanya menggunakan Subversion, tapi saya ingin tahu apakah itu pilihan yang tepat. Kita membutuhkan sistem yang (diurutkan berdasarkan kepentingan, menurun):

  • memerlukan sedikit perawatan
  • mudah digunakan dan dipelajari, karena tidak semua orang pernah menggunakan kontrol versi
  • memiliki integrasi shell (kita semua menggunakan Windows XP)
  • mudah untuk mengatur izin dan memberi setiap orang ruang kerja mereka sendiri
  • mudah diatur dan dijalankan

Jadi, (1) VCS apa yang merupakan pilihan terbaik, dan (2) bagaimana kita menyusunnya. Terima kasih untuk bantuannya.


person rlbond    schedule 26.01.2010    source sumber
comment
Persyaratan yang mudah dipelajari mungkin yang paling sulit dipenuhi. Saya telah mengamati bahwa bahkan pengembang berpengalaman pun kadang-kadang akan kehilangan kode karena mereka tidak memikirkan dengan hati-hati tentang cara mereka memeriksa file masuk/keluar.   -  person AaronLS    schedule 26.01.2010


Jawaban (7)


Kami menggunakan subversi dan menyukainya, karena kesederhanaannya, kemudahan penggunaan, integrasinya ke dalam lingkungan shell dan kemampuan untuk tidak hanya versi, kode, tetapi juga dokumen spesifikasi pdf dan sumber daya lain yang kami miliki.

Untuk menyusunnya, coba gunakan struktur logika Anda sedekat mungkin. Tetap sederhana :)

person Rihan Meij    schedule 26.01.2010

Saya tidak melihat alasan mengapa Anda harus melihat lebih jauh dari Subversion. Meskipun, untuk sedikit pemeliharaan tambahan Anda dapat memeriksa GitHub (karena ini adalah solusi yang dihosting, jadi tidak perlu khawatir tentang cadangan, server, dll) tetapi ada juga repo Subversion yang dihosting.

Apalagi jika Anda sudah familiar dengannya, sehingga Anda bisa memberi tahu orang lain dan mendapatkan kredit ekstra :)

person Vnuk    schedule 26.01.2010

Setelah sepenuhnya menyiapkan subversi, hanya memerlukan sedikit pemeliharaan, modelnya mudah dipahami, terintegrasi dalam shell, mendukung ACL yang berfungsi dengan baik dan pengaturannya didokumentasikan dengan baik.

Anda dapat mengatur subversi di server web, mengintegrasikannya dengan domain windows untuk autentikasi jika diperlukan (jika tidak, Anda harus menambah/menghapus pengguna, mengubah kata sandi di server svn)

Anda juga dapat menggunakan cara vcs terdistribusi, dengan solusi yang dihosting tanpa pengaturan server, tetapi untuk memahami hal itu dalam pikiran pengguna Anda akan jauh lebih sulit daripada svn. Belum lagi memikirkannya sendiri terlebih dahulu.

Kecuali Anda memiliki model pengembangan paralel yang rumit, serba cepat, saya tidak akan merekomendasikan dvc, saya akan tetap menggunakan SVN

person Jean    schedule 26.01.2010

Saya setuju bahwa subversi adalah pilihan yang sangat baik. Namun Anda juga dapat mempertimbangkan mercurial: lebih mudah dan juga memiliki tortoise antarmuka terintegrasi.

person sergiom    schedule 26.01.2010
comment
Bisakah Anda lebih spesifik? Apa yang lebih baik vs SVN? - person rlbond; 26.01.2010
comment
@ribond Ini bukan pengalaman langsung saya. Saya diberitahu bahwa pengaturan dan penggunaannya mudah. Satu perbedaan besar adalah Mercurial adalah sistem kontrol versi terdistribusi, seperti git. Saya akan mencoba lincah untuk proyek saya berikutnya. - person sergiom; 27.01.2010
comment
@ribond topik lama ini terlihat menarik: stackoverflow.com/questions/224396/ - person sergiom; 27.01.2010

Saya akan merekomendasikan www.assembla.com. Mereka menawarkan langganan berbayar tetapi untuk proyek akademis Anda dapat mengajukan permohonan akun pro gratis.

Saya telah menggunakannya untuk proyek akademis saya dan 100% puas dengan kemudahan pemeliharaan, waktu aktif, dan kesederhanaan

person Victor Hurdugaci    schedule 26.01.2010

Cara termudah adalah dengan menggunakan Subversi. Namun agar dapat berfungsi dengan cara yang paling mudah (pada Windows), Anda sebaiknya menggunakan TortoiseSVN.

Setelah instalasi, ia berfungsi langsung di dalam explorer hanya dengan satu klik kanan dari penggunaan. Mungkin salah satu dari Anda harus melihat lebih dalam keseluruhan dokumentasi untuk memberikan bantuan jika diperlukan . Semua orang lain harus melihat Panduan Penggunaan Harian untuk mengetahui permulaan pertama.

Anda juga harus berhati-hati tentang cara Anda strukturkan repositori Anda!

person Oliver    schedule 26.01.2010

Subversion memiliki terlalu banyak keterbatasan terkait model "selalu online + server pusat". Saya sangat menyarankan menggunakan sistem kontrol versi terdistribusi.

Dari tiga yang utama Git, Mercurial, Bazaar; menurut pengalaman saya, Bazaar sejauh ini merupakan yang paling mudah digunakan dan disiapkan.

person rodrigob    schedule 26.01.2010