Apa proses yang tepat untuk berkontribusi tambalan ke inti Drupal?
Katakanlah saya menemukan bug di inti Drupal, memperbaikinya, dan membuat tambalan . Bagaimana saya mengirimkannya?
Jika bug ada di Drupal 7, apakah saya juga harus memperbaikinya di Drupal 8, dan mengirimkan dua tambalan? Apakah ini juga berlaku untuk bug / peningkatan dokumentasi?
Apakah semua tambalan juga memerlukan uji unit?
community-official-site
version-control
mpdonadio
sumber
sumber
Jawaban:
Jika bug hadir dalam versi yang sedang dikembangkan (dalam hal ini Drupal 8), dan versi sebelumnya (Drupal 7), maka bug tersebut harus diperbaiki terlebih dahulu versi yang saat ini dikembangkan, dan kemudian pada versi sebelumnya.
Jika bug tidak ada dalam versi terbaru yang dikembangkan, misalnya karena bug adalah untuk fungsi yang telah dihapus, atau yang sudah diubah, maka tambalan harus disediakan untuk versi sebelum yang saat ini dikembangkan.
Alur kerja yang diikuti adalah:
Anda dapat membuat tambalan untuk dua versi Drupal secara bersamaan, tetapi karena tambalan untuk versi Drupal terbaru mungkin memerlukan perubahan, lebih baik bekerja pada tambalan untuk versi yang saat ini dikembangkan, daripada mengerjakan dua tambalan berbeda yang keduanya harus diubah.
Lihat juga: Kebijakan Backport .
Ya, benar. Juga dalam kasus ini, jika versi yang saat ini dikembangkan menghapus fungsi / metode yang merujuk dokumentasi, maka tambalan perlu disediakan untuk versi sebelumnya.
Jika tambalan untuk dokumentasi, itu tidak memerlukan tes. Bot pengujian berjalan pada http://qa.drupal.org memeriksa kode Drupal setelah tambalan diterapkan; jika tambalan memperkenalkan kesalahan sintaks (misalnya karena komentar ditutup sebelum diperlukan), maka bot pengujian akan melaporkan kesalahan tentang tambalan sebelum tes dijalankan.
Jika tambalan untuk fitur baru, maka tes diperlukan.
Jika tambalan adalah untuk memperbaiki bug, maka tes bisa diminta dari pengelola, jika belum ada tes yang memeriksa fitur tertentu. Tes ini umumnya diperlukan untuk menghindari pengenalan kembali bug yang sama ketika mengubah kode yang sama di kemudian hari. Jika bug hanyalah variabel yang diinisialisasi, tetapi tidak pernah digunakan dari suatu fungsi / metode, maka kemungkinan tes tidak diperlukan.
sumber
Setiap halaman proyek di drupal.org memiliki tab "Version control" di bagian atas. Ini tidak hanya memberikan gambaran besar dari semua opsi repositori kode untuk proyek tertentu, semua contoh perintah git juga dirancang untuk proyek tersebut. Anda bahkan dapat mengubahnya secara interaktif ke versi tertentu juga.
Untuk inti Drupal Anda menemukan halaman itu di http://drupal.org/project/drupal/git-instructions
Kemudian ketika Anda telah membuat tambalan Anda, Anda cukup melampirkan file tambalan ke masalah yang menjelaskan apa yang Anda lakukan tambalan.
Dua hal penting yang harus ditunjukkan adalah memastikan tambalan diakhiri dengan ".patch" dan untuk mengatur status menjadi "Needs review". Ini agar testbot akan melihatnya dan secara otomatis menjalankan pengujiannya.
Kode baru selalu harus disertai dengan tes .
Perhatikan bahwa ini mungkin untuk dimatikan oleh proyek dan beberapa melakukannya. Untuk core Drupal aktif meskipun semua patch akan diuji.
Anda dapat menemukan lebih banyak di http://drupal.org/contribute/development .
sumber