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

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

Если вы знаете, что ваш патч в проект LibreOffice будет состоять из пары новых строк кода (или изменения пары строк существующего), то такой патч можно сделать на коленке с планшета, сидя в метро, используя веб-интерфейс по адресу https://gerrit.libreoffice.org/.
Примечание: в этой статье мы не станем рассматривать необходимость проведения предварительных изысканий в кодовой базе LibreOffice, будем считать, что вы уже знаете, где именно нужно вносить правки.
Перво наперво нужно авторизоваться на указанном сайте. В правом верхнем углу есть ссылка Sign in. Переходим по ссылке и видим такое:
Как видим, поддерживается авторизация по OpenID, а также подойдёт логин от GitHub или аккаунта Google, Launchpad или Yahoo! Заходите на сайт под любым имеющимся у вас, главное, чтобы последующая работа также выполнялась под этим же аккаунтом.
Далее, чтобы создать патч нужно выбрать соответствующие проект и ветку (в данной статье мы планируем запустить патч в основную разрабатываемую ветку master).
В верхней части сайта жмем на ссылку Projects:
Щёлкаем по ссылке List и в поле Filter вбиваем core. Чуть ниже из огромного списка осталась одна строка с именем core. Щёлкаем по ней:
В нижней части будет кнопка Create Change, жмём её.
Далее появляется вот такое окно (без всяких подсказок, что печально):
В первой строке вбивайте master и в появившемся списке выбирайте вариант просто master (выделено на скриншоте выше). В поле Enter topic ничего не вводите, в поле Description нужно ввести номер ошибки из багзиллы в формате tdf#120003 (это в случае, если вы исправляете ошибку, если нет, то конечно же номер не нужен) и краткое описание изменения. Общая длина описания здесь не должна быть более 75 символов (в дальнейшем описание можно будет сделать более подробным и объемным). И жмём кнопку Create в левом нижнем углу окошка и видим такое:
Нажимаем кнопку Edit (строка с этой кнопкой изменится) и далее появившуюся кнопку Add. Видим такое:
В поле Path нужно набрать имя того файла, который собираемся изменять, например startcenter.ui
при вводе имени файла вам будет показан список-подсказка, в поле Path должен быть прописан полный путь до нужного файла, а не просто одно имя файла.
Далее нажмите кнопку Open и откроется окно редактора:
После внесения изменений в исходный код, нажмите кнопку Save и затем Close. Вы вернетесь на предыдущий экран, который будет  содержать строку со ссылкой на ваш измененный файл:
Если нужно в рамках одного патча править несколько файлов, то опять жмём Edit, потом Add и так далее, как было чуть выше описано.
Если у вас есть знакомый разработчик LibreOffice, который готов вам помочь, то лучше всего его добавить в ревьюеры вашего патча. В правой верхней части страницы находим слово Reviewers и справа от него значок человечка, щёлкаем на него. В появившемся поле пишем либо ник, либо электронную почту разработчика и жмём синюю кнопку  Add  под полем.
Если знакомого нет, то придется просто ждать, пока кто-то из разработчиков не посмотрит на патч в порядке живой очереди. Также можно попросить кого-нибудь из разработчиков сделать ревью на IRC канале #libreoffice-dev в сети freenode.net.
Далее нужно отправить ваш патч на проверку и ревью. Для этого нажмите чуть выше тоже синюю кнопку  Publish Edit .
После этого сайт можно закрыть и ждать двух сообщений минимум: первое от тестирующего все патчи бота jenkins, второе от ревьюера-разработчика.

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

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

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

      Удалить

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