Adakah alasan untuk tidak menggunakan sistem kontrol banyak versi?

9

Saya sedang mengerjakan proyek yang menggunakan GIT sebagai sistem kontrol versi utama untuk trunk, cabang resmi dan sebagian besar sub proyek / cabang tidak resmi. Karena itu, saya ingin membuat cabang saya sendiri menggunakan GIT untuk memungkinkan anggota komunitas lainnya mengakses cabang saya menggunakan sistem yang mereka tahu.

Namun, saya sedang mengerjakan bagian dari proyek yang tumpang tindih baik cabang resmi dan tidak resmi, bersama dengan beberapa tambalan yang tidak akan pernah masuk ke bagasi - karena itu, saya harus dapat menjaga tambalan saya terpisah, memungkinkan semua untuk digunakan dalam cabang dan patch selektif saya akan diambil untuk digunakan di bagasi. Ini secara alami cenderung menggunakan antrian lincah.

Apakah ada alasan mengapa saya tidak dapat menggunakan mercurial untuk repositori lokal saya sendiri, tetapi mendorong keseluruhannya ke repositori yang di-host GIT dan Mercurial? Atau lebih tepatnya, apakah ada alasan bagus untuk tidak, saya yakin itu mungkin.

Jon Story
sumber
2
Satu-satunya cara saya dapat melihat bahwa bekerja adalah jika satu selalu merupakan salinan otoritatif dan yang lainnya selalu dihasilkan dari yang pertama. Dengan cara ini tidak ada kebingungan yang mungkin terjadi.
Joachim Sauer
Terima kasih, itulah yang saya pikirkan - Git hanya akan menjadi budak Mercurial. Mercurial digunakan seperti biasa bagi saya, dan kemudian mendorong dari lincah ke Git untuk memungkinkan pengguna Git mengakses cabang saya (tanpa bel dan peluit)
Jon Story

Jawaban:

8

Anda seharusnya tidak melakukan ini karena alasan yang sama Anda tidak boleh memiliki variabel yang mencoba melacak status orang lain - Anda mungkin kehilangan jejak versi mana yang berwibawa.

James McLeod
sumber
Satu akan selalu menjadi salinan resmi - Mercurial, dalam hal ini, karena itu yang saya gunakan sendiri untuk melacak perubahan, bekerja dengan banyak tambalan dll. Git hanya akan menjadi budak, salinan repositori mercurial untuk memungkinkan anggota komunitas yang akrab dengan Git tetapi tidak Mercurial untuk mendapatkan salinan cabang saya. Orang-orang yang tertarik pada tambalan individu harus menggunakan lincah, jelas, tapi saya mencoba untuk tetap dalam konvensi proyek sambil membuat hidup mudah bagi diri saya sendiri.
Jon Story
Terima kasih untuk umpan baliknya. Itu tidak sepenuhnya karena alasan ini (saya juga baru saja memutuskan saya lebih suka GIT dan dapat hidup tanpa antrian lincah) tetapi jawaban Anda membuat saya menyadari bahwa redundansi tidak ada gunanya jika dapat dihindari, yang dalam hal ini bisa.
Jon Story
2

Saat ini saya melakukan ini menggunakan git dan svn. Meskipun ada alasan untuk tidak melakukannya, tidak ada aturan umum. Git dapat melakukan hal-hal yang tidak bisa dilakukan svn, saya terbiasa dengan fitur-fitur itu sehingga alur kerja saya jadi produktivitas meningkat ketika saya bisa menggunakan git. Melihat pro dan kontra dalam situasi saya, saya akan bodoh untuk tidak menggunakan keduanya. Anda harus melihat situasi Anda dengan cara yang sama. (btw satu-satunya kontra bagi saya harus menjalankan skrip kecil tunggal untuk menyinkronkan git dengan svn)

stijn
sumber
1

Anda dapat menjaga patch Anda terpisah di Git: lakukan masing-masing pada cabangnya sendiri, lalu gabungkan secara selektif sesuai keinginan.

Marnen Laibow-Koser
sumber