Ruby Core
Сейчас отличное время, чтобы участвовать в разработке Ruby. С повышенным вниманием, которое получил Ruby в последние несколько лет, возрастает потребность в талантах для улучшения Ruby и его документации. Итак, с чего начать?
Темы, относящиеся к разработке Ruby, рассмотренные здесь:
Использование Git для отслеживания разработки Ruby
Текущий основной репозиторий с самым свежим исходным кодом Ruby — git.ruby-lang.org/ruby.git. Также существует зеркало на GitHub. Обычно следует использовать это зеркало.
Вы можете получить последнюю версию исходного кода Ruby с помощью Git. Из командной строки:
$ git clone https://github.com/ruby/ruby.gitДиректория ruby теперь будет содержать последнюю версию исходного
кода разрабатываемой версии Ruby (ruby-trunk).
Смотрите также Руководство для не-коммиттеров по присоединению к нашей разработке.
Если у вас есть доступ на коммит, и вы хотите запушить что-то, вам следует использовать основной репозиторий.
$ git clone git@git.ruby-lang.org:ruby.gitУлучшаем Ruby, патч за патчем
Команда разработчиков ядра использует систему отслеживания задач для приема патчей и сообщений об ошибках для Matz и остальной команды. Эти отчеты также отправляются в почтовую рассылку Ruby-Core для обсуждения, так что вы можете быть уверены, что ваш запрос не останется незамеченным. Вы также можете отправлять свои патчи прямиком в почтовую рассылку. В любом случае, мы призываем вас принять участие в последующем обсуждении.
Пожалуйста, просмотрите Руководство по написанию патчей, чтобы получить несколько советов от самого Matz о том, как добиться рассмотрения ваших патчей.
Подводя итог, шаги для создания патча:
-
Клонируйте копию исходного кода Ruby с GitHub. Обычно патчи для исправления ошибок или новые функции должны отправляться для trunk (основной ветки) исходного кода Ruby.
$ git clone https://github.com/ruby/ruby.gitЕсли вы исправляете ошибку, специфичную только для одной поддерживаемой ветки, переключитесь на соответствующую ветку.
$ git checkout ruby_X_XX_Xследует заменить на версию, на которую вы хотите переключиться. -
Добавьте ваши улучшения в код.
-
Создайте патч.
$ git diff > ruby-changes.patch -
Создайте тикет в системе отслеживания задач или отправьте ваш патч на почтовую рассылку Ruby-Core вместе с записью ChangeLog, описывающей патч.
-
Если к патчу не будет вопросов, коммиттеры получат одобрение на его применение.
Пожалуйста, обратите внимание: патчи должны предоставляться в формате unified diff. Для получения дополнительной информации о том, как объединяются патчи, см. справочник diffutils.
Обсуждение разработки Ruby происходит в почтовой рассылке Ruby-Core. Так что, если вам интересно, стоит ли ваш патч внимания, или вы хотите начать обсуждение будущего Ruby, не стесняйтесь присоединиться. Учтите, что обсуждения не по теме не допускаются в этой рассылке, уровень шума должен быть очень низким, темы должны быть конкретными, хорошо продуманными и грамотно написанными. Поскольку мы обращаемся к создателю Ruby, давайте проявим уважение.
Имейте в виду, что многие из основных разработчиков Ruby живут в Японии, и, хотя многие из них очень хорошо говорят по-английски, существует значительная разница в часовых поясах. У них также есть целый набор японских списков разработчиков, которые существуют параллельно с английскими аналогами. Будьте терпеливы; если ваша заявка не рассмотрена, будьте настойчивы — попробуйте еще раз через несколько дней.
Заметка о ветках
Исходный код Ruby управлялся в репозитории Subversion до 22 апреля 2019 года. Таким образом, некоторые ветки всё ещё могут управляться в Subversion. Вы можете посмотреть репозиторий SVN.
Однако вам не нужно об этом беспокоиться (если вы не мейнтейнер ветки). Вы можете переключаться на ветки в вашей рабочей копии Git. Например, выполните следующую команду:
$ git checkout ruby_X_XX_X следует заменить на версию, на которую вы хотите переключиться.
Если вы хотите изменить ветки, пожалуйста, откройте задачу в нашей системе отслеживания задач. Смотрите также следующий раздел.