Kami semua selalu berterima kasih untuk tambalan-tambalan pada kode Django. Memang, laporan kesalahan dengan tambalan terhubung akan diperbaiki jauh lebih cepat daripada mereka yang tanpa tambalan.
Jika anda sedang memperbaiki masalah sepele, sebagai contoh merubah sebuah kata di dokumentasi, cara dipilih untuk menyediakan tambalan adalah menggunakan menarik permintaan GitHub tanpa tiket Trac.
Lihat Bekerja dengan Git dan GitHub untuk rincian lebih bagaimana menggunakan pull request.
Dalam sebuah proyek sumber-terbuka dengan ratusan penyumbang diseluruh dunia, adalah sangat penting untuk mengelola komunikasi secara efektif sehingga pekerjaan tidak ganda dan penyumbang dapat menjadi seefektif mungkin.
Oleh sebab itu, kebijakan kami untuk penyumbang dalam "menagih" tiket agar membiarkan pengembang lain mengetahui bahwa kesalahan atau fitur tertentu sedang dikerjakan.
Jika anda telah mencirikan bantuan anda ingin membuat dan anda mampu memperbaikinya (yang diukur dengan kemampuan pengkodean anda, pengetahuan dari internal Django dan ketersediaan waktu), tagih dia dengan mengikuti langkah-langkah berikut:
Catatan
Yayasan perangkat lunak Django meminta bahwa siapapun yang menyumbang lebih dari tambalan sepele pada Django menandatangani dan mengirimkan Contributor License Agreement, ini memastikan bahwa Django Software Foundation mempunyai lisensi jelas untuk semua bantuan mengizinkan untuk lisensi jelas untuk semua pengguna.
Sekali anda mengakui sebuah tiket, anda mempunyai tanggung jawab untuk bekerja pada tiket tepat waktu. Jika anda tidak mempunyai waktu untuk bekerja padanya, salah satu batalkan pengakuannya atau jangan mengakuinya di tempat pertama!
Jika tidak ada tanda kemajuan pada tiket tertentu yang diakui selama seminggu atau dua minggu, pengembang lain mungkin meminta anda melepaskan pengakuan tiket sehingga itu tidak lagi dikuasai dan seseorang lain dapat mengakuinya.
Jika anda telah mengakui tiket dan itu memakan waktu lama (harian atau mingguan) untuk membuat kode, jaga semua orang terperbaharui dengan menempatkan komentar pada tiket. Jika anda tidak menyediakan pembaharuan reguler, dan anda tidak menjawab pada permintaan untuk laporan kemajuan, pengakuan anda pada tiket mungkin ditarik.
Seperti biasa, komunikasi lebih lebih baik daripada komunikasi kurang!
Tentu saja, melalui langkah-langkah dari pengakuan tiket berlebihan dalam beberapa kasus.
Di kasus perubahan kecil, seperti salah ketik di dokumentasi atau kesalahan kecil yang hanya akan memakan beberapa menit untuk memperbaikinya, anda tidak perlu lompat melalui lingkaran dari pengakuan tiket. Cukup ajukan tambalan dan dilakukan dengan hal itu.
Tentu saja, itu selalu diterima, tanpa memperhatikan apakah seseorang telah mengakuinya atau tidak, untuk mengajukan tambalan ke tiket jika anda terjadi mempunyai tambalan siap.
Pastikan bahwa tiap sumbangan anda lakukan memenuhi setidaknya persyaratan berikut:
Ketika anda berpikir pekerjaan anda siap ditinjau, kirim a GitHub pull request. Harap tinjau tambalan sendiri menggunakan patch review checklist terlebih dahulu.
Jika anda tidak dapat pull request untuk beberapa alasan, anda dapat juga menggunakan tambalan-tambalan di Trac. Ketika menggunakan gaya ini, ikuti panduan berikut.
git diff
..diff
; ini akan membuat pelacak tiket memberlakukan penyorotan sintaksis benar, yang tentunya sangat membantu.Tanpa memperhatikan cara anda mengajukan pekerjaan anda, ikuti langkah-langkah ini.
Tambalan "bukan-sepele" adalah satu yang lebih dari sebuah perbaikan kesalahan sederhana. Itu adalah sebuah tambalan yang memperkenalkan fungsi Django dan membuat beberapa urutan keputusan rancangan.
Jika anda menyediakan tambalan bukan-sepele, sertakan saksi yang jalan lain telah diobrolkan di django-developers.
Jika anda tidak yakin apakah tambalan anda harus dipertimbangkan bukan-sepele, tanya saja.
Terdapat beberapa alasan bahwa kode di Django mungkin diusangkan:
Seperti deprecation policy gambarkan, terbitan pertama dari Django yang mengusangkan sebuah fitur (A.B
) harus memunculkan RemovedInDjangoXXWarning
(dimana XX adalah versi Django dimana fitur akan dipindahkan) ketika fitur diusangkan dipanggil. Menganggp kami mempunyai cakupan percobaan baik, peringatan ini dirubah ke kesalahan ketika running the test suite dengan peringatan diadakan: python -Wa runtests.py
. Dengan demikian, ketika menambahkan RemovedInDjangoXXWarning
anda butuh mengurangi atau mensenyapkan tiap peringatan yang dibangkitkan ketika menjalankan percobaan.
Langkah pertama adalah memindahkan tiap penggunaan dari kebiasaan diusangkan oleh Django itu sendiri. Selanjutnya anda dapat peringatan senyap di percobaan yang sebenarnya mencoba kebiasaan diusangkan dengan menggunakan penghias ignore_warnings
, antara pada tingkatan percobaan atau kelas:
Di percobaan khusus:
from django.test import ignore_warnings
from django.utils.deprecation import RemovedInDjangoXXWarning
@ignore_warnings(category=RemovedInDjangoXXWarning)
def test_foo(self):
...
Untuk kasus percobaan keseluruhan:
from django.test import ignore_warnings
from django.utils.deprecation import RemovedInDjangoXXWarning
@ignore_warnings(category=RemovedInDjangoXXWarning)
class MyDeprecatedTests(unittest.TestCase):
...
You can also add a test for the deprecation warning:
from django.utils.deprecation import RemovedInDjangoXXWarning
def test_foo_deprecation_warning(self):
msg = 'Expected deprecation message'
with self.assertWarnsMessage(RemovedInDjangoXXWarning, msg):
# invoke deprecated behavior
Akhirnya, ada sepasang pembaharuan ke dokumentasi Django untuk dibuat:
.. deprecated:: A.B
. Termasuk gambaran pendek dan catatan tentang jalur peningkatan jika berlaku.docs/releases/A.B.txt
) dibawah kepala "Fitur-fitur diusangkan dalam A.B".docs/internals/deprecation.txt
) dibawah versi yang sesuai menggambarkan kode apa akan dipindahkan.Sekali anda telah melengkapi langkah ini, anda selesai dengan pengusangan. Di setiap feature release, semua RemovedInDjangoXXWarning
yang cocok versi baru dipindahkan.
Untuk informasi pada tambalan JavaScript, lihat dokumentasi Tambalan JavaScript.
Gunakan daftar centang ini untuk meninjau sebuah pull request. Jika anda sedang meninjau sebuah pull request yang bukan milik anda dan itu lolos semua kriteria dibawah, harap setel "Triage Stage" pada tiket Trac sesuai pada "Siap untuk diperiksa". Jika anda telah meninggalkan komentar untuk perbaikan pada pull request, silahkan tandai bendera sesuai pada Trac berbasis tiket pada hasil dari tinjauan anda: "Tambalan butuh perbaikan", "Butuh dokumentasi", and/or "Butuh percobaan". Sebagai perizinan waktu dan minat, pembuat perbaikan melakukan tinjauan akhir dari tiket "Siap untuk diperiksa" dan akan antara memperbaiki tambalan atau membenturkannya kembali ke "Diterima" jika pekerjaan lanjutan butuh diselesaikan. Jika anda sedang mencari untuk menjadi pengembang inti, melakukan tinjauan seksama dari tambalan adalah jalan hebat untuk mendapatkan kepercayaan.
Mencari tambalan untuk ditinjau? Periksa bagian "Patches needing review" dari Django Development Dashboard. Mencari untuk mendapatkan tambalan anda ditinjau? Pastikan bendera Trac pada tiket disetel sehingga tiket muncul di antrian itu.
make html
, atau make.bat html
pada Windows, dari direktori docs
)?docs/release/A.B.C.txt
? Perbaikan bug yang hanya akan diimplementasikan ke master tidak memerlukan catatan rilis.docs/releases/A.B.txt
?.. versionadded:: A.B
atau .. versionchanged:: A.B
?Lihat panduan Mengusangkan fitur.
flake8
?docs/releases/A.B.txt
)?AUTHORS
dan ajukan Contributor License Agreement.Des 02, 2019