Google berkomitmen untuk memajukan ekuitas ras untuk komunitas kulit hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Mengirimkan Patch

Halaman ini menjelaskan proses lengkap mengirimkan tambalan ke Proyek Sumber Terbuka Android (AOSP), termasuk meninjau dan melacak perubahan dengan Gerrit .

Prasyarat

Untuk kontributor

Otentikasi dengan server

Sebelum Anda dapat mengunggah ke Gerrit, Anda perlu membuat kata sandi yang mengidentifikasi Anda dengan server. Ikuti instruksi pada halaman pembuat kata sandi. Anda hanya perlu melakukan ini sekali saja. Lihat Menggunakan otentikasi untuk detail tambahan.

Memulai cabang Repo

Untuk setiap perubahan yang ingin Anda buat, mulailah cabang baru dalam repositori Git yang relevan:

repo start NAME .

Anda bisa memulai beberapa cabang independen secara bersamaan di repositori yang sama. Cabang NAME bersifat lokal ke ruang kerja Anda dan tidak termasuk di Gerrit atau di pohon sumber akhir.

Membuat perubahan Anda

Setelah Anda memodifikasi file sumber (dan memvalidasinya, silakan) lakukan perubahan pada repositori lokal Anda:

git add -A
git commit -s

Berikan deskripsi rinci tentang perubahan dalam pesan komit Anda. Deskripsi ini didorong ke repositori AOSP publik, jadi ikuti panduan ini untuk menulis deskripsi daftar perubahan:

  • Mulai dengan ringkasan satu baris (maksimum 50 karakter), diikuti oleh baris kosong. Format ini digunakan oleh Git dan Gerrit untuk berbagai tampilan.

  • Mulai dari baris ketiga, masukkan deskripsi yang lebih panjang, yang harus terbungkus maksimal 72 karakter. Jelaskan masalah apa yang dipecahkan oleh perubahan, dan bagaimana cara memecahkannya. Bagian kedua agak opsional ketika mengimplementasikan fitur baru, meskipun diinginkan.

  • Sertakan catatan singkat tentang asumsi atau informasi latar belakang yang mungkin penting ketika kontributor lain bekerja pada fitur ini.

Berikut ini contoh pesan commit:

Short description on first line

More detailed description of your patch,
which is likely to take up multiple lines.

ID perubahan unik dan nama serta email Anda sebagaimana disediakan selama repo init secara otomatis ditambahkan ke pesan komit Anda.

Mengunggah ke Gerrit

Setelah Anda melakukan perubahan pada riwayat pribadi Anda, unggah ke Gerrit bersama

repo upload

Jika Anda telah memulai banyak cabang dalam repositori yang sama, Anda diminta untuk memilih yang mana yang akan diunggah.

Setelah unggahan berhasil, Repo memberi Anda URL halaman baru di Gerrit . Kunjungi tautan ini untuk melihat tambalan Anda di server peninjauan, menambahkan komentar, atau meminta pengulas khusus untuk tambalan Anda.

Mengunggah tambalan pengganti

Misalkan pengulas telah melihat tambalan Anda dan meminta sedikit modifikasi. Anda dapat mengubah komit Anda di dalam Git, yang menghasilkan tambalan baru pada Gerrit dengan ID perubahan yang sama seperti aslinya.

git add -A
git commit --amend

Ketika Anda mengunggah tambalan yang diperbaiki, itu mengganti yang asli pada Gerrit dan dalam sejarah Git lokal Anda.

Menyelesaikan konflik sinkronisasi

Jika tambalan lain dikirimkan ke pohon sumber yang bertentangan dengan tambalan Anda, Anda perlu mengubah kembali tambalan Anda di atas HEAD baru dari repositori sumber. Cara mudah untuk melakukannya adalah dengan menjalankan

repo sync

Perintah ini pertama-tama mengambil pembaruan dari server sumber, kemudian mencoba untuk secara otomatis mengubah HEAD Anda ke HEAD jarak jauh yang baru.

Jika rebase otomatis tidak berhasil, lakukan rebase manual.

repo rebase

Menggunakan git mergetool dapat membantu Anda menangani konflik rebase. Ketika Anda berhasil menggabungkan file yang bertentangan, jalankan:

git rebase --continue

Setelah rebase otomatis atau manual selesai, jalankan repo upload untuk mengirimkan tambalan rebased Anda.

Setelah pengajuan disetujui

Setelah pengajuan membuatnya melalui proses peninjauan dan verifikasi, Gerrit secara otomatis menggabungkan perubahan ke dalam repositori publik. Pengguna lain dapat menjalankan repo sync untuk menarik pembaruan ke klien lokal mereka.

Proyek hulu

Android menggunakan sejumlah proyek sumber terbuka lainnya, seperti kernel Linux dan WebKit, seperti yang dijelaskan dalam Manajemen Perangkat Lunak Android . Untuk sebagian besar proyek di bawah external/ , buat perubahan di bagian hulu dan kemudian beri tahu pengelola Android tentang rilis di bagian hulu yang berisi perubahan ini. Mungkin juga bermanfaat untuk mengunggah tambalan yang menggerakkan kami untuk melacak rilis hulu yang baru, meskipun ini bisa menjadi perubahan yang sulit untuk dilakukan jika proyek tersebut banyak digunakan di Android seperti sebagian besar yang lebih besar yang disebutkan di bawah, di mana kami cenderung meningkatkan dengan setiap melepaskan.

Satu kasus khusus yang menarik adalah Bionic. Sebagian besar kode ada dari BSD, jadi kecuali perubahannya adalah kode yang baru untuk Bionic, kami lebih suka perbaikan hulu dan kemudian tarik seluruh file baru dari BSD yang sesuai.

ICU4C

Buat semua perubahan pada proyek ICU4C di external/icu4c pada Halaman Beranda ICU-TC . Lihat Mengirimkan ICU Bug dan Permintaan Fitur untuk lebih lanjut.

LLVM / Dentang / Kompiler-rt

Buat semua perubahan pada proyek yang berkaitan dengan LLVM ( external/clang , external/compiler-rt , external/llvm ) di halaman Infrastruktur Kompiler LLVM .

mksh

Buat semua perubahan pada proyek MirBSD Korn Shell di external/mksh baik dengan mengirim email ke miros-mksh di domain mirbsd.org (tidak perlu berlangganan untuk mendaftar di sana) atau di Launchpad .

OpenSSL

Buat semua perubahan pada proyek OpenSSL di external/openssl pada halaman OpenSSL .

V8

Kirim semua perubahan ke proyek V8 di external/v8 pada halaman masalah V8 . Lihat Berkontribusi ke V8 untuk detailnya.

WebKit

Buat semua perubahan pada proyek WebKit di external/webkit pada halaman WebKit . Mulai proses dengan mengajukan bug WebKit . Dalam bug, gunakan Android untuk Platform dan bidang OS hanya jika bug itu khusus untuk Android. Bug jauh lebih mungkin untuk menerima perhatian pengulas setelah perbaikan yang diusulkan ditambahkan dan tes disertakan. Lihat Menyumbang Kode ke WebKit untuk detailnya.

zlib

Buat semua perubahan pada proyek zlib di external/zlib pada halaman beranda zlib .