Launchpad projesine nasıl yama gönderebilirim?


20

Git / GitHub geçmişiyle ve Bazaar VCS hakkında çok az şey bilerek, zaman zaman Launchpad'de barındırılan projelere bir hata bildirmek ve hatta bir yama göndermek istiyorum. Bunu "düzgün" bir şekilde yapmak istiyorum, böylece bir araya gelmeden birleşmeye veya gelişmeye hazır.

İhtiyacım için uygun, basit bir How-to bulamıyorum.

Şimdiye kadar ne yaptım:

  1. Bir Launchpad hesabı oluşturdum,

  2. hatayı bildirdi,

  3. Bazaar kurulu ve SSH anahtarları vb.

Şimdi GitHub olsaydı,

  1. depoyu çatalla,

  2. çatallı repoyu klonla,

  3. mantıklı bir şube oluşturmak ve işi yapmak,

  4. taahhüt + itme,

  5. GitHub WUI kullanarak bir çekme isteği oluşturun.

Ancak GitHub değil ve hem Launchpad hem de Bazaar mimarileri GitHub / Git muadillerinden oldukça farklı görünüyor.

Öyleyse, nazik bir ruh beni tonlarca belgede boğulmaktan kurtarabilir ve esas olarak ikinci kısım olan basit bir adım yolu derleyebilir mi? İhtiyaç duyulduğunda ilgili CLI komutlarını dahil etmek mümkün mü?


Düzenleme: Görünüşe göre ben özellikle Ubuntu paketleri (ne anlama gelirse) veya Launchpad projeleri hakkında soruyorum.

Ubuntu paketleri ile Ubuntu olmayan paketler arasındaki farkı pek umursamıyorum. Herhangi bir yazılım bugün ve yarın Ubuntu'da olabilir ya da tam tersi olabilir. Kalkınma, dağıtımdan çok daha önemli olan şeydir.

Ben de öyle varsayıyordum ki

  • Ubuntu'da dağıtılan her paket Launchpad'de barındırılmıyor,

  • Launchpad için "resmi" veya "varsayılan" bir iş akışı mevcuttur (tüm geliştiriciler Çarşı'yı kullanmayı kabul edebilirlerse, birçoğu neden yamalama iş akışı üzerinde anlaşamadılar?),

bu yüzden Ubuntu yolunu değil, Launchpad yolunu soruyorum. AU'yu seçtim çünkü kavşak çok geniş olduğu için, buradaki konu hakkında oldukça güzel olduğunu düşünüyorum.


bu kısa belge yardımcı oluyor mu? eğer öyleyse lütfen mevcut cevabı gerektiği gibi genişletmekten çekinmeyin doc.bazaar.canonical.com/bzr.dev/en/mini-tutorial
david.libremone

Yanıtlar:


15

Bir Launchpad projesi mi?

(Bunun bir Launchpad projesi olduğunu zaten biliyorsanız, bunu atlayabilirsiniz.)

Launchpad'de bulunan tüm projeler aslında barındırılmıyor ve geliştirilmiyor - bazıları başka bir yerde barındırılan kodun aynaları (GitHub / Gitorious / etc), diğerleri Debian'dan geliyor. Bu orijinal kaynaklar "yukarı akış" projeleri olarak bilinir ve genellikle kaynakta yamalar göndermek ve değişikliklerin Ubuntu'da (genellikle bir sonraki sürümde) "aşağıya" gelmesine izin vermek en iyisidir.

Başka bir yerde mi yoksa Launchpad'de mi barındırıldığı proje sayfasında açıkça belirtilmelidir. Değilse, proje sahiplerine değişiklikleri nasıl almak istediklerini sorun. Bazı yukarı akış projeleri basit yama dosyalarını, diğerleri ise ilgili ana bilgisayarları üzerinden gönderme / gönderme tercih eder.

Özel bir not olarak, resmi Ubuntu paketleri (Yazılım Merkezi'nden kurabileceğiniz resmi Ubuntu depolarında depolanan yazılım), bu paketlerin birçoğu doğrudan Debian'dan geldiğinden ve ideal olarak orada düzeltilmesi gerektiğinden, yama göndermenin birkaç farklı yolu vardır. sadece Ubuntu'da değil. (Bu başka bir soru.)

Yama gönderme

Yama göndermenin genel yolu, şubenizi oluşturmanız, yerel olarak taahhütte bulunmanız ve tekrar Launchpad'e geri göndermenizdir:

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

Daha sonra şubenizi, web sitesi aracılığıyla veya bzr lp-proposekomutu kullanarak, dallanmış olduğunuz ebeveynle birleştirmeyi önerebilirsiniz .

Bir hata gönderdiyseniz ve dalınız sorunu 000000çözdüyse, bunun yerine başka bir yerde değil, Launchpad'de bildirilen bir hata olduğu varsayılarak, hata numaranızla değiştirilirken , aşağıdakileri yaptığınızdan emin olun .

bzr commit --fixes=lp:000000

"Varsayılan" iş akışı hakkında bir not

Bu, GitHub ile karşılaştırabileceğiniz tipik modern iş akışıdır. Launchpad biraz daha uzun sürdü, bu nedenle bu iş akışı, başlangıçtan itibaren sisteme yerleştirilmek yerine, gerçeğin ardından gelişti, bu nedenle bazı eski projeler, yamaları kabul etmenin diğer yöntemlerine güvenebilir. Yeni projelerin çoğu bu iş akışına dayanıyor, burada GitHub'da "çekme istekleri" her zaman oradaydı ve insanlar sadece varsayılan olarak kullanıyorlar çünkü GitHub'da farklı bir şey yapmanın bir yolu yoktu.


8

Buradaki cevap, dobey'in cevabına ve Jorge Castro'nun projeye özel bir soruya verdiği cevaba dayanıyor . Düzenlemeler / düzeltmeler / öneriler hoş geldiniz.

  1. Bir Launchpad hesabı oluşturun. Bu, bir Launchpad kullanıcı adı ( LP-USER) içerecektir

  2. SSH anahtarınızı şu adresteki fırlatma alanına ekleyin: https://launchpad.net/~LP-USER/+editsshkeys

  3. Launchpad'de proje adını ( PROJECT-NAME) not edin .

  4. Sorunu projeye karşı bildirin. Soruna bir hata numarası ( 000000) atanacaktır .

  5. Çarşı'nın kurulu olduğundan emin olun dpkg-query -l bzr. Bazaar / Launchpad entegrasyonunu okumak isteyebilirsiniz .

  6. Bzr öğesinibzr whoami "Your Name <name@example.com>" ve ile yapılandırınbzr launchpad-login LP-USER

  7. Makinenizde, projenin yerel bir şubesine göz atın

    bzr branch lp:PROJECT-NAME
    

    (Bu, PROJECT-NAMEen son proje kodunu içeren bir klasör oluşturur .)

  8. Projeyi çalıştırın. Değişiklik yapmak. Değişikliklerinizi test edin. (Bu adımlar projeye ve konuya özeldir.)

  9. Hata numarası ( 000000) dahil değişikliklerinizi yapın .

    bzr commit --fixes=lp:000000
    
  10. Bu, değişikliklerinizi açıklayan bir changelog girişi ekleyebileceğiniz bir iletişim kutusu açacaktır.

  11. Değişikliklerinizi Launchpad'e aktarın. (Bu, hesabınızla ilişkili yeni bir uzak dal oluşturur.)

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

    ( NEW-BRANCH-NAMEsorunun giderildiği kısa bir tanımlayıcı isim / özellik eklenmelidir)

  12. Tarayıcınızda bzr lp-openveya ile şube açarakhttps://code.launchpad.net/~LP-USER/PROJECT-NAME/NEW-BRANCH-NAME/

  13. bzr lp-proposeSon adımda "Birleştirme için teklif et" i seçip bir açıklama ekleyerek, lp:PROJECT-NAMEönermek istediğiniz dal için yapıştırıp URL'yi tıklayarak URL ile veya URL'den birleştirme önerin Submit.


Soru: Eğer benim "proje adım" ise ubuntu/saucy/msttcorefontsyapıyorum bzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchnameya da sadecebzr push lp:~amandabee/msttcorefonts/actualbranchname
Amanda

İlki: bzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchnameçalıştı
Amanda
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.