Ubuntu logo

Developer

Seeking Review and Sponsorship

One of the biggest advantages to using the UDD workflow is to improve quality by seeking review of changes by your peers. This is true whether or not you have upload rights yourself. Of course, if you don’t have upload rights, you will need to seek sponsorship.

Once you are happy with your fix, and have a branch ready to go, the following steps can be used to publish your branch on Launchpad, link it to the bug issue, and create a merge proposal for others to review, and sponsors to upload.

Выгрузка на Launchpad

Ранее мы показали вам, как связать вашу ветку с ошибкой, используя команды dch и bzr commit. Однако ветка и ошибка в действительности не будут связаны, пока вы не выгрузите ветку на Launchpad командой push.

Создавать ссылку на ошибку для каждого вашего изменения не обязательно, но если вы исправляете ошибки, для которых имеется отчёт об ошибке, то ссылки на этот отчёт могут быть полезны.

Общий формат URL, на который вы должны выгрузить свою ветку, имеет следующий вид:

lp:~<user-id>/ubuntu/<distroseries>/<package>/<branch-name>

Например, чтобы отправить исправление для ошибки 12345 в пакете Tomboy для Natty, используйте:

$ bzr push lp:~subgenius/ubuntu/natty/tomboy/bug-12345

Последний компонент пути в этом примере выбран произвольно, укажите вместо него реально существующую ошибку.

Но обычно этого недостаточно, чтобы разработчики Ubuntu проверили ваше изменение и взяли на себя поручительство над ним. Вам нужно отправить предложение слияния (merge proposal).

Для этого откройте страницу ошибки в браузере, например:

$ bzr lp-open

Если сделать это не удалось, вы можете использовать:

$ xdg-open https://code.launchpad.net/~subgenius/ubuntu/natty/tomboy/bug-12345

где большая часть URL совпадает с тем URL, который вы указывали в команде bzr push. На этой странице вы увидите ссылку Propose for merging into another branch. Наберите описание вашего изменения в поле Initial Comment. Затем щёлкните Propose Merge, чтобы завершить процесс.

Merge proposals to package source branches will automatically subscribe the ~ubuntu-branches team, which should be enough to reach an Ubuntu developer who can review and sponsor your package change.

Создание debdiff

Как было указано выше, некоторые поручители предпочитают проверять debdiff, прикреплённый к отчёту об ошибке, вместо предложения слияния. Если вас попросили включить debdiff, вы можете создать его следующим образом (из вашей ветки bug-12345):

$ bzr diff -rbranch:../tomboy.dev

Другой способ — открыть предложение слияния и загрузить diff.

Вы должны убедиться, что diff-файл содержит ожидаемые вами изменения, не больше и не меньше. Дайте ему подходящее имя, например, foobar-12345.debdiff и прикрепите к отчёту об ошибке.

Работа с обратной связью от поручителей

Если поручитель проверяет вашу ветку и просит вас что-то изменить, то сделать это очень легко. Просто перейдите в ветку, над которой вы работали, сделайте требуемые изменения и выполните фиксацию:

$ bzr commit

Now when you push your branch to Launchpad, Bazaar will remembered where you pushed to, and will update the branch on Launchpad with your latest commits. All you need to do is:

$ bzr push

You can then reply to the merge proposal review email explaining what you changed, and asking for re-review, or you can reply on the merge proposal page in Launchpad.

Note that if you are sponsored via a debdiff attached to a bug report you need to manually update by generating a new diff and attaching that to the bug report.

Ожидание

Разработчики Ubuntu составили расписание людей (так называемых “patch pilots”), которые регулярно проверяют очередь поручительства и предоставляют обратную связь по вопросам работы с ветками и патчами. Но, даже несмотря на это, может пройти несколько дней, пока вы получите ответ. Это зависит от их занятости, от состояния заморозки текущей версии и других факторов.

Если вы не получаете ответа в течение долгого времени, подключитесь к каналу #ubuntu-devel на irc.freenode.net и найдите кого-нибудь, кто может вам помочь.

Чтобы узнать больше о процессе поручительства, прочтите также нашу вики-документацию: https://wiki.ubuntu.com/SponsorshipProcess