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).

Див. також Non-committer’s HOWTO to join our development.

Якщо у вас є доступ для комітів і ви хочете щось запушити, використовуйте основний репозиторій.

$ git clone git@git.ruby-lang.org:ruby.git

Покращення Ruby, патч за патчем

Команда core підтримує issue tracker для подання патчів і звітів про помилки для Matz і команди. Ці повідомлення також надходять до поштової розсилки Ruby-Core для обговорення, тож ви можете бути впевнені, що ваш запит не залишиться непоміченим. Ви також можете надсилати патчі безпосередньо до розсилки. У будь-якому разі вас заохочують долучатися до обговорення.

Будь ласка, перегляньте Посібник з написання патчів для порад від Matz про те, як зробити так, щоб ваші патчі розглядалися.

Коротко, кроки створення патча:

  1. Клонувати вихідний код Ruby з GitHub. Зазвичай патчі для виправлення помилок або нових можливостей слід подавати для trunk гілки Ruby.

    $ git clone https://github.com/ruby/ruby.git
    

    Якщо ви виправляєте помилку, специфічну для однієї гілки підтримки, переключіться на відповідну гілку.

    $ git checkout ruby_X_X
    

    X_X слід замінити на версію, яку ви хочете отримати.

  2. Додайте свої покращення в код.

  3. Створіть патч.

    $ git diff > ruby-changes.patch
    
  4. Створіть тікет в issue tracker або надішліть патч до поштової розсилки Ruby-Core із записом ChangeLog, що описує патч.

  5. Якщо щодо патча не виникло проблем, комітерам буде надано дозвіл на його застосування.

Зверніть увагу: патчі слід подавати як unified diff. Більше про те, як патчі об’єднуються, дивіться у довідці diffutils.

Обговорення розвитку Ruby зосереджується в поштовій розсилці Ruby-Core. Тож якщо вам цікаво, чи вартий ваш патч уваги, або якщо ви хочете започаткувати обговорення про майбутнє Ruby — сміливо долучайтеся. Зауважте, що офтоп-обговорення в цій розсилці не допускаються: рівень шуму має бути дуже низьким, теми — точними, добре продуманими та добре сформульованими. Ми звертаємося до творця Ruby, тож тримаймо відповідний рівень поваги.

Пам’ятайте, що багато core-розробників Ruby живуть у Японії, і хоча багато хто добре володіє англійською, існує значна різниця в часових поясах. Також існує цілий набір японськомовних розсилок розробки, що функціонують паралельно з англомовними. Будьте терплячими: якщо ваше питання не вирішено, наполягайте — спробуйте ще раз через кілька днів.

Примітка про гілки

Вихідний код Ruby керувався репозиторієм Subversion до 22 квітня 2019 року. Тож деякі гілки й досі можуть підтримуватися у Subversion. Ви можете переглянути SVN-репозиторій.

Проте вам не потрібно про це турбуватися (якщо тільки ви не супроводжуєте гілку). Ви можете переключатися на гілки у своїй робочій копії Git. Наприклад, виконайте таку команду:

$ git checkout ruby_X_X

X_X слід замінити на версію, яку ви хочете отримати.

Якщо ви хочете змінювати гілки, відкрийте issue у нашому issue tracker. Дивіться також наступний розділ.