суббота, 10 ноября 2018 г.

Разработка LibreOffice. Правим код по мелочи, используя веб-интерфейс

18 мая 2020г. Я обновил этот пост, поскольку TDF обновил версию gerrit до более новой, молодёжной и прогрессивной.
Если вы знаете, что ваш патч в проект LibreOffice будет состоять из пары новых строк кода (или изменения пары строк существующего), то такой патч можно сделать на коленке с планшета, сидя в метро, используя веб-интерфейс по адресу https://gerrit.libreoffice.org/.
Примечание: в этой статье мы не станем рассматривать необходимость проведения предварительных изысканий в кодовой базе LibreOffice, будем считать, что вы уже знаете, где именно и какие нужно вносить правки.
Примечание: изменения в Справку вносятся точно также, за исключением одного нюанса при выборе репозитория.
Перво наперво нужно авторизоваться на указанном сайте. В правом верхнем углу есть ссылка SIGN IT. Переходим по ссылке и видим такое:
Поддерживается авторизация исключительно по логину/паролю от вашего аккаунта в TDF!  Если у вас нет аккаунта, то создайте его, используя ту оранжевую кнопку. Авторизуйтесь на сайте.
Далее, чтобы создать патч, нужно выбрать соответствующие проект и ветку (в данной статье мы планируем создать патч в основной разрабатываемой ветке "master").
В верхней части сайта жмем на ссылку Browse и в выпадающем меню выбираем Repositories:
В поле Filter вбиваем core (или help, если вы хотите внести изменения в справку). Чуть ниже из огромного списка осталась одна строка с именем core (или соответственно help). Щёлкаем в этой строке по слову core (help):
Страница обновится. В левой части нажмите на слово Commands.

По центру появится кнопка CREATE CHANGE, жмём её.
Далее появляется вот такое окно (без всяких подсказок, что печально):
В первой строке Select branch for new change вбивайте master и в появившемся списке выбирайте вариант просто master. В поле Enter topic for new change ничего не вводите, в поле Description нужно ввести номер ошибки из багзиллы в формате tdf#номер_бага (это в случае, если вы исправляете ошибку, если нет, то конечно же номер не нужен) и краткое описание изменения. Общая длина описания здесь не должна быть более 75 символов в одной строке (в дальнейшем описание можно будет сделать более подробным и объемным). И жмём кнопку CREATE в правом нижнем углу окошка и видим такое:
В верхнем правом углу нажимаем кнопку EDIT и далее нам нужно выбрать тот файл в исходном коде, в который мы вносим правки. В нижней трети экрана справа есть строка со словами:
 
Нажмите кнопку ADD/OPEN/UPLOAD и в открывшемся окне введите путь до файла, который собираемся изменять, например startcenter.ui:
при вводе имени файла вам будет показан список-подсказка, в поле для ввода должен быть прописан полный путь до нужного файла, а не просто одно имя файла.
Далее нажмите кнопку OPEN и откроется окно редактора (к сожалению обновление gerrit принесло с собой задержки в работе интерфейса, так что если ничего не происходит на экране, просто подождите пару секунд):
После внесения изменений в исходный код, нажмите кнопку SAVE (дождитесь появления в нижнем левом углу сообщения All changes saved), а затем кнопку CLOSE. Вы вернетесь на предыдущий экран, который будет  содержать строку со ссылкой на ваш измененный файл:
Если нужно в рамках одного патча править несколько файлов, то опять жмём ADD/OPEN/UPLOAD, и так далее, как было чуть выше описано.
Далее жмём в правом верхнем углу PUBLISH EDIT.
Если у вас есть знакомый разработчик LibreOffice, который готов вам помочь, то лучше всего его добавить в ревьюеры вашего патча. В левой части страницы находим слово ADD REVIEWER и щёлкаем на него. В появившемся окне в верхней строке пишем либо ник, либо электронную почту разработчика и жмём кнопку START REVIEW в правом нижнем углу окна.
Если знакомого нет, то придется просто ждать, пока кто-то из разработчиков не посмотрит на патч в порядке живой очереди. Также можно попросить кого-нибудь из разработчиков сделать ревью на IRC канале #libreoffice-dev в сети freenode.net.
Если вы никого не знаете в проекте, тогда просто нажмите кнопку START REVIEW.
После этого сайт можно закрыть и ждать двух сообщений минимум: первое от тестирующего все патчи бота jenkins, второе от ревьюера-разработчика.
Только при условии получения +1 от jenkins'a и +2 от человека-ревьюера ваш патч может быть принят, его ревьюер и вольет в кодовую базу, сразу, как проставит +2.
Удачи!

2 комментария:

  1. Доброго времени суток!
    В LibreOffice Impress есть "родимое пятно" - в пользовательской анимации объекта не работают режимы повторения анимации "До конца слайда" и "До следующего нажатия клавиши" - анимация повторяется всего один раз.
    Это ошибка 77186 была ещё в 4.1.5.3, она же 50833 в 3.5.4, она же 33018 в 3.3.2
    Причём этой ошибки нет в текущем релизе AOO 4.1.2.
    Будет ли исправлена эта ошибка (ей уже около 8 лет)?

    ОтветитьУдалить
    Ответы
    1. Когда-нибудь будет. Таких ошибок, которым по пять лет и более в багзилле вагон. Просто нет столько разработчиков, чтобы их все исправить одномоментно.

      Удалить

Внимание! Сообщения проходят премодерацию!