Ruby ядро

Сега е моментът да започнете да следите развитието на Ruby. С огромното внимание, което езикът получава през последните години, се увеличава и търсенето на талантливи разработчици, които да подпомагат развитието на езика и документацията. От къде да започнем?

Темите, свързани с разработването на Ruby, описани тук са:

Използване на Subversion за следене на процеса на разработка

Изтегляне на последната версия на изходният код е въпрос на влизане в Subversion с анонимен акаунт. От командния ред:

$ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby

Директорията ruby съдържа актуалният изходен код на Ruby (ruby-trunk). Пачовете, които се прилагат върху trunk се backport-ват към стабилните 2.6, 2.5 и 2.4 branch-ове (виж по-долу).

Ако желаете да следите пачването на Ruby 2.6, трябва да използвате ruby_2_6 branch-a:

$ svn co https://svn.ruby-lang.org/repos/ruby/branches/ruby_2_6

Подобно за 2.5:

$ svn co https://svn.ruby-lang.org/repos/ruby/branches/ruby_2_5

Това ще свали желанaта версия в директорията ruby_2_6 или ruby_2_5. Често branch-овете са много близки с изключението на подобренията, направени от Matz и Nobu към самият език.

Ако желаeте, може да прегледате Subversion хранилището на Ruby.

За повече информация относно Subversion, можете да посетите Често задавани въпроси за Subversion и книгата за Subversion. Друг вариaнт е книгата Pragmatic Version Control with Subversion.

Използване на git с основното хранилище

Ако предпочитате Git пред Subversion, можете да откриете инструкции на GitHub хранилището, както за хора с commit достъп, така и за всички останали.

Усъвършенстване, кръпка по кръпка

Основния екип поддържа issue tracker за приемането на кръпки и репорти за бъгове. Тези репорти се публикуват също така и в пощенския списък Ruby-Core mailing list за дискусия.

Моля прегледайте Инструкции за писане на кръпки за съвети от Matz как кръпката ви да бъде разгледана.

На кратко стъпките за изготвянето на кръпка:

  1. Издърпайте копие на изходният код на Ruby от Subversion. Обикновено кръпките и фиксовете на бъгове трябва да бъдат качени в trunk. Дори ако желаете да добавите нещо към Ruby 2.5, трябва първо то да мине през trunk.

    $ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby
    

    Ако желаете да оправите проблем по специфична версия, дръпнете само нея, например ruby_2_5.

    $ svn co https://svn.ruby-lang.org/repos/ruby/branches/ruby_2_5
    
  2. Добавете подобренията на кода.

  3. Създайте кръпка.

    $ svn diff > ruby-changes.patch
    
  4. Създайте ticket в issue tracker-а или изпратете email с кръпката на Ruby-Core пощенският списък със списък и описание на промените.

  5. Ако няма проблеми с кръпката, тя ще бъде предадена за одобрение.

Забележка: кръпките трябва да бъдат изпратени като unified diff. За повече информация вижте the diffutils reference.

Дискусията ще бъде пренесена на пощенския списък Ruby-Core mailing list.

Помнете, че екипа, който разработва Ruby, живее в Япония и въпреки, че повечето владеят английски, има съществена часова разлика. Бъдете търпеливи и ако имате проблем – бъдете настойчиви, опитайте пак след няколко дни.

Правила за Core разработчиците

Разработчиците на Ruby трябва да са запознати в общи линии с изходния код и стила на писане, използван от основния екип разработчици. За по-голяма яснота, моля спазвайте следните правила:

  • Всички промени трябва да са описани в ChangeLog, спазващи GNU конвенциите. (Много рубисти ползват Emacs add-log mode, който е достъпен с командата C-x 4 a.)
  • Промените трябва да са в японско стандартно време (UTC+9).
  • Означените точки във вашия ChangeLog трябва да присъстват в Subversion commit съобщение, което ще бъде пратено автоматично като електронна поща до Ruby-CVS списъка.
  • Стила на писане използва ANSI декларации на функциите в изходния код на Ruby и неговите разширения.
  • Моля, не ползвайте C++ стил на коментарите (//), а. (/* .. */).

Повече информация може да намерите в Ruby’s issue tracker.