Сега е моментът да започнете да следите развитието на Ruby. С огромното внимание, което езикът получава през последните години, се увеличава и търсенето на талантливи разработчици, които да подпомагат развитието на езика и документацията. От къде да започнем?
Темите, свързани с разработването на Ruby, описани тук са:
- Използване на Subversion за следене на процеса на разработка
- Използването на git с основното хранилище
- Усъвършенстване на Ruby, кръпка по кръпка
- Правила за Core разработчиците
Използване на Subversion за следене на процеса на разработка
Изтегляне на последната версия на изходният код е въпрос на влизане в Subversion с анонимен акаунт. От командния ред:
Директорията ruby
съдържа актуалният изходен код на Ruby (ruby-trunk).
Пачовете, които се прилагат върху trunk се backport-ват към стабилните
2.6, 2.5
и 2.4 branch-ове (виж по-долу).
Ако желаете да следите пачването на Ruby 2.6,
трябва да използвате ruby_2_6
branch-a:
Подобно за 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 как кръпката ви да бъде разгледана.
На кратко стъпките за изготвянето на кръпка:
-
Издърпайте копие на изходният код на 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
-
Добавете подобренията на кода.
-
Създайте кръпка.
$ svn diff > ruby-changes.patch
-
Създайте ticket в issue tracker-а или изпратете email с кръпката на Ruby-Core пощенският списък със списък и описание на промените.
-
Ако няма проблеми с кръпката, тя ще бъде предадена за одобрение.
Забележка: кръпките трябва да бъдат изпратени като unified diff. За повече информация вижте the diffutils reference.
Дискусията ще бъде пренесена на пощенския списък Ruby-Core mailing list.
Помнете, че екипа, който разработва Ruby, живее в Япония и въпреки, че повечето владеят английски, има съществена часова разлика. Бъдете търпеливи и ако имате проблем – бъдете настойчиви, опитайте пак след няколко дни.
Правила за Core разработчиците
Разработчиците на Ruby трябва да са запознати в общи линии с изходния код и стила на писане, използван от основния екип разработчици. За по-голяма яснота, моля спазвайте следните правила:
- Всички промени трябва да са описани в
ChangeLog
, спазващи GNU конвенциите. (Много рубисти ползват Emacsadd-log
mode, който е достъпен с командатаC-x 4 a
.) - Промените трябва да са в японско стандартно време (UTC+9).
- Означените точки във вашия ChangeLog трябва да присъстват в Subversion commit съобщение, което ще бъде пратено автоматично като електронна поща до Ruby-CVS списъка.
- Стила на писане използва ANSI декларации на функциите в изходния код на Ruby и неговите разширения.
- Моля, не ползвайте C++ стил на коментарите (
//
), а. (/* .. */
).
Повече информация може да намерите в Ruby’s issue tracker.