Dengan latar belakang Git / GitHub dan mengetahui sedikit tentang Bazaar VCS, saya ingin sesekali melaporkan bug ke proyek yang dihosting di Launchpad, dan bahkan mengirim tambalan. Saya ingin melakukannya dengan cara yang "tepat" sehingga siap untuk digabungkan atau ditingkatkan tanpa menghalangi.
Saya tidak dapat menemukan How-to simple yang layak yang cocok untuk kebutuhan saya.
Apa yang saya lakukan sejauh ini:
Saya telah membuat akun Launchpad,
melaporkan bug tersebut,
menginstal Bazaar dan mengatur kunci SSH dll.
Sekarang jika itu GitHub, saya akan
garpu repo itu,
mengkloning repo bercabang dua,
buat cabang bernama sanly dan lakukan pekerjaan,
komit + push,
buat permintaan tarik menggunakan GitHub WUI.
Tapi itu bukan GitHub, dan kedua arsitektur Launchpad dan Bazaar tampak sangat berbeda dari rekan GitHub / Git mereka.
Jadi bisakah jiwa yang baik menyelamatkan saya dari menenggelamkan banyak dokumen dan menyusun langkah langkah yang langsung, terutama bagian kedua? Mungkin termasuk perintah CLI yang relevan ketika dibutuhkan?
Sunting: Tampaknya saya harus mengklarifikasi jika saya bertanya secara spesifik tentang paket Ubuntu (apa pun artinya) atau proyek Launchpad.
Saya tidak terlalu peduli tentang perbedaan antara paket Ubuntu dan paket non-Ubuntu. Perangkat lunak apa pun dapat berada di Ubuntu hari ini dan keluar besok, atau sebaliknya. Perkembangan adalah yang terpenting daripada distribusi.
Jadi saya berasumsi itu
tidak setiap paket yang didistribusikan di Ubuntu di-host di Launchpad,
ada alur kerja "resmi" atau "default" untuk Launchpad (yah jika semua pengembang setuju untuk menggunakan Bazaar, mengapa sebagian besar dari mereka tidak menyetujui alur kerja penambalan?),
jadi saya bertanya tentang cara Launchpad, bukan cara Ubuntu. Dan saya memilih AU karena karena persimpangan sangat luas, saya kira itu cukup pada topik di sini.
Jawaban:
Apakah ini proyek Launchpad?
(Jika Anda sudah tahu bahwa ini adalah proyek Launchpad, Anda dapat melewati ini.)
Tidak semua proyek yang ditemukan di Launchpad benar-benar di-host dan dikembangkan di sana - beberapa adalah mirror dari kode yang dihosting di tempat lain (GitHub / Gitorious / etc), yang lain berasal dari Debian. Sumber-sumber asli ini dikenal sebagai proyek "hulu", dan biasanya yang terbaik adalah mengirimkan tambalan pada sumber dan membiarkan perubahan tiba "hilir" di Ubuntu (biasanya dalam rilis berikutnya).
Itu harus ditunjukkan dengan jelas pada halaman proyek apakah itu di-host di tempat lain atau di Launchpad. Jika tidak, tanyakan saja kepada pengelola proyek bagaimana mereka ingin menerima perubahan. Beberapa proyek hulu lebih suka file tambalan sederhana, yang lain lebih suka pengiriman / dorongan melalui host masing-masing.
Sebagai catatan khusus, paket resmi Ubuntu (perangkat lunak yang disimpan dalam repositori Ubuntu resmi yang dapat Anda instal dari Pusat Perangkat Lunak) memiliki beberapa cara berbeda untuk mengirimkan tambalan, karena banyak dari paket itu datang langsung dari Debian, dan idealnya harus diperbaiki di sana daripada hanya di Ubuntu. (Ini adalah pertanyaan lain.)
Cara mengirim tambalan
Cara umum untuk mengirimkan tambalan adalah Anda membuat cabang, komit secara lokal dan mendorongnya kembali ke Launchpad:
Anda kemudian dapat mengusulkan cabang Anda untuk bergabung dengan induk tempat Anda bercabang, baik melalui situs web, atau menggunakan
bzr lp-propose
perintah.Jika Anda telah mengajukan bug, dan cabang Anda memperbaikinya, pastikan untuk melakukan hal berikut saat melakukan, di mana
000000
diganti dengan nomor bug Anda, dengan asumsi itu adalah bug yang dilaporkan di Launchpad, dan bukan di tempat lain sebagai gantinya.Catatan tentang alur kerja "default"
Ini adalah alur kerja modern yang umum , yang dapat Anda bandingkan dengan GitHub. Launchpad telah ada sedikit lebih lama, jadi alur kerja ini berkembang setelah fakta, daripada dibangun ke dalam sistem sejak awal, sehingga beberapa proyek yang lebih tua mungkin bergantung pada metode lain untuk menerima tambalan. Namun, sebagian besar proyek baru mengandalkan alur kerja ini, di mana di GitHub "permintaan tarik" selalu ada di sana, dan orang-orang hanya menggunakan itu secara default karena tidak pernah ada cara untuk melakukan sesuatu yang berbeda pada GitHub.
sumber
Jawaban awal berdasarkan jawaban dobey di sini dan jawaban Jorge Castro untuk pertanyaan spesifik proyek. Suntingan / koreksi / saran diterima.
Buat akun Launchpad. Ini akan mencakup nama pengguna Launchpad (
LP-USER
)Tambahkan kunci SSH Anda ke launchpad di
https://launchpad.net/~LP-USER/+editsshkeys
Pada Launchpad, catat nama proyek (
PROJECT-NAME
).Laporkan masalah terhadap proyek. Masalah ini akan diberi nomor bug (
000000
).Pastikan Bazaar diinstal
dpkg-query -l bzr
. Anda mungkin ingin membaca tentang integrasi Bazaar / Launchpad .Konfigurasikan bzr dengan
bzr whoami "Your Name <[email protected]>"
danbzr launchpad-login LP-USER
Di mesin Anda, periksa cabang lokal proyek
(Ini akan membuat folder bernama
PROJECT-NAME
berisi kode proyek terbaru.)Dapatkan proyek berjalan. Membuat perubahan. Uji perubahan Anda. (Langkah-langkah ini khusus untuk proyek dan masalah.)
Komit perubahan Anda, termasuk nomor bug (
000000
).Itu akan membuka dialog komit di mana Anda dapat menambahkan entri changelog yang menjelaskan perubahan Anda.
Dorong perubahan Anda ke Launchpad. (Ini akan membuat cabang jarak jauh baru yang terkait dengan akun Anda.)
(
NEW-BRANCH-NAME
harus berupa nama deskriptif singkat dari masalah yang diperbaiki / fitur ditambahkan)Buka cabang di browser Anda dengan
bzr lp-open
atau dengan membukahttps://code.launchpad.net/~LP-USER/PROJECT-NAME/NEW-BRANCH-NAME/
Ajukan penggabungan dengan
bzr lp-propose
atau dari URL pada langkah terakhir dengan memilih "Ajukan penggabungan", tambahkan deskripsi, tempelkanlp:PROJECT-NAME
untuk cabang yang ingin Anda ajukan, dan klik Submit.sumber
ubuntu/saucy/msttcorefonts
saya sedang saya lakukanbzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchname
atau hanyabzr push lp:~amandabee/msttcorefonts/actualbranchname
bzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchname
bekerja