Saya sedang mengerjakan modul sinkronisasi konten untuk Drupal. Ada modul server, yang duduk di situs web dan memaparkan konten melalui layanan web. Ada juga modul klien, yang duduk di situs yang berbeda dan mengambil serta mengimpor konten secara berkala.
Server dibuat di Drupal 6. Klien dibuat di Drupal 7. Akan ada kebutuhan untuk versi Druapl 7 server. Dan kemudian akan ada kebutuhan untuk versi Drupal 8 baik dari klien dan server setelah dirilis tahun depan.
Saya cukup baru untuk git dan kontrol sumber, jadi saya bertanya-tanya apa cara terbaik untuk mengatur repositori git? Apakah ini merupakan kasus memiliki repositori terpisah untuk setiap instance, yaitu:
Drupal 6 server = 1 repository
Drupal 6 client = 1 repository
Drupal 7 server = 1 repository
Drupal 7 client = 1 repository
etc
Atau lebih masuk akal untuk memiliki satu repositori untuk server dan yang lain untuk klien kemudian membuat cabang untuk setiap versi Drupal?
Saat ini saya memiliki 2 repositori - satu untuk klien dan satu lagi untuk server.
sumber
Saya telah melihat dan bekerja dengan variasi seperti itu. Semuanya dalam satu folder dengan subfolder untuk server dan klien atau masing-masing satu repo. Saya lebih suka repo tunggal untuk setiap bagian utama proyek.
Dalam hal perubahan versi besar saya hanya akan membuat repo baru juga. Jelas tidak memiliki cabang yang berbeda untuk mereka. Sementara cabang sangat kuat untuk implementasi fungsionalitas baru dan mungkin satu cabang penempatan permanen, saya selalu menghindari memiliki terlalu banyak cabang paralel untuk waktu yang lama. Anda harus selalu memeliharanya (lakukan rebases ketika cabang utama diubah dll), jadi pertahankan penataan dasar sesederhana mungkin. Memiliki repo ekstra adalah (menurut pendapat saya yang sederhana) kurang menyakitkan daripada juggling cabang di berbagai negara. Terutama jika klien dan server tidak membagikan banyak kode.
Saya tidak tahu banyak tentang Drupal dan seberapa kuat perbedaan antar versi. Jadi poin saya lebih suka repo berbeda didasarkan pada pengalaman saya dengan Rails. Antara versi kadang-kadang ada perbedaan besar dalam hal-hal seperti bagaimana file dinamai atau struktur folder (mis. Pipeline aset) yang membuatnya lebih nyaman untuk membuat repo baru. Drupal (atau kerangka kerja lain) mungkin memiliki sedikit perbedaan, maka tidak apa-apa untuk melanjutkan repo yang ada.
sumber