Як подати виправлення в проект Launchpad?


20

З фоном Git / GitHub і дуже мало знаючи про Bazaar VCS, я хотів би час від часу повідомляти про помилку проектам, розміщеним на Launchpad, і навіть надсилати патч. Я хотів би зробити це "належним чином", щоб він був готовий до об'єднання або вдосконалення, не перешкоджаючи.

Я, здається, не можу знайти гідного простого способу підходу для моїх потреб.

Що я робив до цього часу:

  1. Я створив обліковий запис Launchpad,

  2. повідомив про помилку,

  3. встановлений базар і налаштування ключів SSH тощо.

Тепер, якби це був GitHub, я б

  1. вила repo,

  2. клонувати роздвоєний репо,

  3. створити розгалужену гілку і виконати роботу,

  4. зробити + натиснути,

  5. створити запит на тягу за допомогою GitHub WUI.

Але це не GitHub, і архітектури Launchpad і Bazaar здаються зовсім іншими від своїх аналогів GitHub / Git.

То чи могла б добра душа врятувати мене від утоплення в тоннах документів і скласти прямий крок шлях, переважно другу частину? Можливо, включаючи відповідні команди CLI, коли вони потрібні?


Редагувати: Здається, я повинен уточнити, чи питаю я конкретно про пакети Ubuntu (що б це не означало) або проекти Launchpad.

Мені дуже не цікаво розмежування між пакетами Ubuntu і не-Ubuntu пакетами. Будь-яке програмне забезпечення може бути в Ubuntu сьогодні, а поза ним завтра, або навпаки. Розвиток - це важливе значення, ніж дистрибуція.

Тож я припускав це

  • не кожен пакет, що розповсюджується в Ubuntu, розміщується на Launchpad,

  • існує "офіційний" або "за замовчуванням" робочий процес для Launchpad (добре, якщо всі розробники можуть погодитися на використання Bazaar, чому більшість з них не змогла погодитися на робочий процес виправлення?),

тому я запитую про спосіб запуску, а не про спосіб Ubuntu. І я вибрав АС, оскільки оскільки перехрестя величезне, я думаю, що це досить на тему.


чи допомагає цей короткий документ? якщо так, будь ласка, не соромтесь розширити наявну відповідь, якщо потрібно, doc.bazaar.canonical.com/bzr.dev/en/mini-tutorial
david.libremone

Відповіді:


15

Це проект Launchpad?

(Якщо ви вже знаєте, що це проект Launchpad, ви можете пропустити це.)

Не всі проекти, знайдені на Launchpad, насправді розміщуються та розробляються там - одні дзеркала коду, розміщені в інших місцях (GitHub / Gitorious / тощо), інші - від Debian. Ці оригінальні джерела відомі як "upstream" проекти, і, як правило, найкраще подати виправлення у джерело і нехай зміни надходять "вниз за течією" в Ubuntu (як правило, у наступному випуску).

На сторінці проекту має бути чітко вказано, чи він розміщений в іншому місці, чи на Launchpad. Якщо ні, просто запитайте керівників проекту, як вони хочуть отримувати зміни. Деякі проекти вище за течією віддають перевагу простим файлам патчів, інші віддають перевагу поданням / натисканням через відповідних хостів.

Як особливу примітку, офіційні пакети Ubuntu (програмне забезпечення, що зберігається в офіційних сховищах Ubuntu, які ви можете встановити з Software Center), мають кілька різних способів подання виправлень, оскільки багато цих пакетів надходять безпосередньо з Debian, і в ідеалі вони повинні бути виправлені там а не лише в Ubuntu. (Це зовсім інше питання.)

Як подати виправлення

Загальний спосіб подати виправлення полягає в тому, що ви робите свою філію, здійснюєте її локально і повертаєте її до Launchpad:

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

Потім ви можете запропонувати свою філію об'єднатись у батьків, від якого ви розгалужені, або через веб-сайт, або за допомогою bzr lp-proposeкоманди.

Якщо ви подали помилку, і ваша філія все виправляє, обов'язково виконайте наступне під час вчинення, де 000000замінено на ваш номер помилки, припускаючи, що це помилка, про яку повідомляється на Launchpad, а не в іншому місці.

bzr commit --fixes=lp:000000

Примітка про робочий процес "за замовчуванням"

Це майже типовий сучасний робочий процес, який ви можете порівняти з GitHub. Хоча панель запуску трохи довша, тому цей робочий процес розвивався після факту, а не вбудовувався в систему спочатку, тому деякі старі проекти можуть покладатися на інші методи прийняття патчів. Більшість усіх новіших проектів покладаються на цей робочий процес, хоча там, де на GitHub завжди були "запити на виклик", і люди просто замовчували його використовувати, оскільки ніколи не було способів зробити щось інше на GitHub.


8

Внутрішня відповідь, заснована на відповіді добі, тут і відповіді Хорхе Кастро на конкретне питання. Зміни / виправлення / пропозиції вітаються.

  1. Створіть обліковий запис Launchpad. Сюди буде включено ім’я користувача Launchpad ( LP-USER)

  2. Додайте ключ SSH до панелі запуску о https://launchpad.net/~LP-USER/+editsshkeys

  3. На Launchpad відзначте назву проекту ( PROJECT-NAME).

  4. Повідомте про проблему проти проекту. Випуску буде присвоєно номер помилки ( 000000).

  5. Переконайтесь, що Bazaar встановлений dpkg-query -l bzr. Ви можете прочитати про інтеграцію Bazaar / Launchpad .

  6. Налаштуйте bzr за допомогою bzr whoami "Your Name <name@example.com>"таbzr launchpad-login LP-USER

  7. На своїй машині ознайомтесь із місцевим відділенням проекту

    bzr branch lp:PROJECT-NAME
    

    (Це створить папку під назвою, PROJECT-NAMEщо містить останній код проекту.)

  8. Початок роботи проекту. Внесіть зміни. Перевірте свої зміни. (Ці кроки стосуються конкретних проектів та питань.)

  9. Введіть свої зміни, включаючи номер помилки ( 000000).

    bzr commit --fixes=lp:000000
    
  10. Це відкриє діалогове вікно фіксації, де ви можете додати запис змін, пояснюючи свої зміни.

  11. Перемістіть зміни до Launchpad. (Це створить нову віддалену гілку, пов’язану з вашим обліковим записом.)

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

    ( NEW-BRANCH-NAMEмає бути коротка описова назва виправленої проблеми / додана функція)

  12. Відкрийте відділення у своєму браузері за допомогою bzr lp-openабо, перейшовши наhttps://code.launchpad.net/~LP-USER/PROJECT-NAME/NEW-BRANCH-NAME/

  13. Запропонуйте об'єднання з bzr lp-proposeURL-адресою або з URL-адресою на останньому кроці, вибравши "Пропонувати для злиття", додавши опис, вставити lp:PROJECT-NAMEдля гілки, в яку ви хочете запропонувати, та натисніть Submit.


Питання: Якщо моє "ім'я проекту" ubuntu/saucy/msttcorefontsя роблю bzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchnameчи простоbzr push lp:~amandabee/msttcorefonts/actualbranchname
Аманда,

Перший: bzr push lp:~amandabee/ubuntu/saucy/msttcorefonts/actualbranchnameпрацював
Аманда
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.