Bagaimana cara mengirim tambalan ke proyek Launchpad?

20

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:

  1. Saya telah membuat akun Launchpad,

  2. melaporkan bug tersebut,

  3. menginstal Bazaar dan mengatur kunci SSH dll.

Sekarang jika itu GitHub, saya akan

  1. garpu repo itu,

  2. mengkloning repo bercabang dua,

  3. buat cabang bernama sanly dan lakukan pekerjaan,

  4. komit + push,

  5. 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.

Alois Mahdal
sumber
apakah dokumen pendek ini membantu? jika demikian, silakan memperluas jawaban yang ada sebagaimana diperlukan doc.bazaar.canonical.com/bzr.dev/id/mini-tutorial
david.libremone

Jawaban:

15

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:

bzr push lp:~user/project/branch-name

Anda kemudian dapat mengusulkan cabang Anda untuk bergabung dengan induk tempat Anda bercabang, baik melalui situs web, atau menggunakan bzr lp-proposeperintah.

Jika Anda telah mengajukan bug, dan cabang Anda memperbaikinya, pastikan untuk melakukan hal berikut saat melakukan, di mana 000000diganti dengan nomor bug Anda, dengan asumsi itu adalah bug yang dilaporkan di Launchpad, dan bukan di tempat lain sebagai gantinya.

bzr commit --fixes=lp:000000

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.

dobey
sumber
8

Jawaban awal berdasarkan jawaban dobey di sini dan jawaban Jorge Castro untuk pertanyaan spesifik proyek. Suntingan / koreksi / saran diterima.

  1. Buat akun Launchpad. Ini akan mencakup nama pengguna Launchpad ( LP-USER)

  2. Tambahkan kunci SSH Anda ke launchpad di https://launchpad.net/~LP-USER/+editsshkeys

  3. Pada Launchpad, catat nama proyek ( PROJECT-NAME).

  4. Laporkan masalah terhadap proyek. Masalah ini akan diberi nomor bug ( 000000).

  5. Pastikan Bazaar diinstal dpkg-query -l bzr. Anda mungkin ingin membaca tentang integrasi Bazaar / Launchpad .

  6. Konfigurasikan bzr dengan bzr whoami "Your Name <[email protected]>"danbzr launchpad-login LP-USER

  7. Di mesin Anda, periksa cabang lokal proyek

    bzr branch lp:PROJECT-NAME
    

    (Ini akan membuat folder bernama PROJECT-NAMEberisi kode proyek terbaru.)

  8. Dapatkan proyek berjalan. Membuat perubahan. Uji perubahan Anda. (Langkah-langkah ini khusus untuk proyek dan masalah.)

  9. Komit perubahan Anda, termasuk nomor bug ( 000000).

    bzr commit --fixes=lp:000000
    
  10. Itu akan membuka dialog komit di mana Anda dapat menambahkan entri changelog yang menjelaskan perubahan Anda.

  11. Dorong perubahan Anda ke Launchpad. (Ini akan membuat cabang jarak jauh baru yang terkait dengan akun Anda.)

    bzr push lp:~LP-USER/PROJECT-NAME/NEW-BRANCH-NAME
    

    ( NEW-BRANCH-NAMEharus berupa nama deskriptif singkat dari masalah yang diperbaiki / fitur ditambahkan)

  12. Buka cabang di browser Anda dengan bzr lp-openatau dengan membukahttps://code.launchpad.net/~LP-USER/PROJECT-NAME/NEW-BRANCH-NAME/

  13. Ajukan penggabungan dengan bzr lp-proposeatau dari URL pada langkah terakhir dengan memilih "Ajukan penggabungan", tambahkan deskripsi, tempelkan lp:PROJECT-NAMEuntuk cabang yang ingin Anda ajukan, dan klik Submit.

david.libremone
sumber
Pertanyaan: Jika "nama proyek" ubuntu/saucy/msttcorefontssaya sedang saya lakukan bzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchnameatau hanyabzr push lp:~amandabee/msttcorefonts/actualbranchname
Amanda
Yang pertama: bzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchnamebekerja
Amanda