@@ -5,167 +5,129 @@ lang: ru
55---
66
77Сейчас отличное время, чтобы участвовать в разработке Ruby. С повышенным
8- вниманием, которое получил Ruby в последние несколько лет, в сообществе
9- возрастает потребность в талантах для улучшения Ruby самого по себе и
10- его документации. Итак, где вам начать?
8+ вниманием, которое получил Ruby в последние несколько лет, возрастает
9+ потребность в талантах для улучшения Ruby и его документации.
10+ Итак, с чего начать?
1111{: .summary}
1212
13- Темы, относящиеся к разработке Ruby, находятся здесь:
13+ Темы, относящиеся к разработке Ruby, рассмотренные здесь:
1414
15- * [ Использование Subversion для прослеживания процесса разработки Ruby] ( #following-ruby )
16- * [ Как использовать Git для работы с главным репозиторием Ruby] ( #git-ruby )
15+ * [ Использование Git для отслеживания разработки Ruby] ( #following-ruby )
1716* [ Улучшаем Ruby, патч за патчем] ( #patching-ruby )
18- * [ Правила для разработчиков ядра ] ( #coding-standards )
17+ * [ Заметка о ветках ] ( #branches-ruby )
1918
20- ### Использование Subversion для прослеживания разработки Ruby
19+ ### Использование Git для отслеживания разработки Ruby
2120{: #following-ruby}
2221
23- Анонимно получить последние исходники Ruby можно из [ Subversion] [ 1 ]
24- репозитория. В командной строке наберите:
22+ Текущий основной репозиторий с самым свежим исходным кодом Ruby —
23+ [ git.ruby-lang.org/ruby.git] [ gitrlo ] .
24+ Также существует [ зеркало на GitHub] [ 7 ] . Обычно следует использовать это зеркало.
25+
26+ Вы можете получить последнюю версию исходного кода Ruby с помощью Git.
27+ Из командной строки:
2528
2629{% highlight sh %}
27- $ svn co https://svn.ruby-lang.org/repos/ ruby/trunk ruby
30+ $ git clone https://github.com/ ruby/ruby.git
2831{% endhighlight %}
2932
30- Папка ` ruby ` теперь будет содержать последние исходники
31- development-версии Ruby (ruby-trunk). Патчи, применяемые к ruby-trunk
32- так же портируются в стабильные
33- {{ site.svn.stable.version }}, {{ site.svn.previous.version }},
34- и {{ site.svn.old.version }} ветки (смотри ниже).
35-
36- Если вы хотите следить за патчингом Ruby {{ site.svn.stable.version }}, вы можете переключится
37- на ` {{ site.svn.stable.branch }} ` ветку:
33+ Директория ` ruby ` теперь будет содержать последнюю версию исходного
34+ кода разрабатываемой версии Ruby (ruby-trunk).
3835
39- {% highlight sh %}
40- $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.stable.branch }}
41- {% endhighlight %}
36+ Смотрите также [ Руководство для не-коммиттеров по присоединению к нашей разработке] [ noncommitterhowto ] .
4237
43- То же самое для Ruby {{ site.svn.previous.version }}:
38+ Если у вас есть доступ на коммит, и вы хотите запушить что-то,
39+ вам следует использовать основной репозиторий.
4440
4541{% highlight sh %}
46- $ svn co https://svn .ruby-lang.org/repos/ ruby/branches/{{ site.svn.previous.branch }}
42+ $ git clone git@git .ruby-lang.org: ruby .git
4743{% endhighlight %}
4844
49- Эти команды скачают соответствующее дерево разработки в папку
50- ` {{ site.svn.stable.branch }} ` или ` {{ site.svn.previous.branch }} ` .
51- Разработчики, работающие над поддерживаемыми ветками,
52- ожидают применения их изменений в ruby-trunk, так что зачастую обе ветки
53- очень похожи, за исключением изменений, сделанных Matz'ем и Nobu в языке
54- в целом.
55-
56- Если вы предпочитаете, вы можете открыть [ Subversion репозиторий Ruby в
57- браузере] [ 2 ] .
58-
59- Для информации по поводу Subversion, пожалуйста смотрите [ the Subversion FAQ] [ 3 ]
60- и книгу [ the Subversion book] [ 4 ] . Еще вы можете найти полезной для начала
61- изучения Subversion книгу [ Pragmatic Version Control with Subversion] [ 5 ] .
62-
63- ### Как использовать Git для работы с главным репозиторием Ruby
64- {: #git-ruby}
65-
66- Для тех, кто предпочитает использовать [ Git] [ 6 ] вместо Subversion,
67- инструкции могут найдены в [ зеркале репозитория на GitHub] [ 7 ] . Их две,
68- одна для [ тех, кто имеет право коммитить] [ 8 ] и другая – для [ всех
69- остальных] [ 9 ] .
70-
7145### Улучшаем Ruby, патч за патчем
7246{: #patching-ruby}
7347
74- Разработчики ядра поддерживают [ специальный форум] [ 10 ] для приема патчей
75- и сообщений о багах для Matz'а и команды. Эти сообщения также попадают в
76- [ Ruby-Core mailing list] [ mailing-lists ] для обсуждения,
77- так что вы можете быть уверены, что ваше сообщение не останется без
78- внимания. Вы также можете отправлять свои патчи прямиком в почтовую рассылку.
79- В любом случае, вам предлагается принять участие в последующей
80- дискуссии.
48+ Команда разработчиков ядра использует [ систему отслеживания задач] [ 10 ] для приема патчей и
49+ сообщений об ошибках для Matz и остальной команды. Эти отчеты также отправляются в
50+ [ почтовую рассылку Ruby-Core] [ mailing-lists ] для обсуждения,
51+ так что вы можете быть уверены, что ваш запрос не останется незамеченным. Вы также
52+ можете отправлять свои патчи прямиком в почтовую рассылку. В любом случае, мы
53+ призываем вас принять участие в последующем обсуждении.
54+
55+ Пожалуйста, просмотрите [ Руководство по написанию патчей] [ writing-patches ] ,
56+ чтобы получить несколько советов от самого Matz о том, как добиться рассмотрения ваших патчей.
8157
82- Пожалуйста, посмотрите [ Patch Writer's Guide] [ 11 ] . Вы найдете там
83- некоторые подсказки и приемы непосредственно от Matz'а о том, как
84- сделать так, чтоб ваши патчи приняли.
58+ Подводя итог, шаги для создания патча:
8559
86- Суммируя шаги создания патча:
60+ 1 . Клонируйте копию исходного кода Ruby с GitHub.
61+ Обычно патчи для исправления ошибок или новые функции должны отправляться
62+ для trunk (основной ветки) исходного кода Ruby.
8763
88- 1 . Скачайте копию исходного кода Ruby из Subversion. Обычно, патчи
89- которые исправляют баги или добавляют новые конструкции, должны быть
90- применены к trunk ветке исходного кода Ruby. Даже если вы хотите
91- добавить конструкцию к {{ site.svn.previous.version }}, это должно быть сначала проверено в
92- trunk.
64+ $ git clone https://github.com/ruby/ruby.git
9365
94- $ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby
66+ Если вы исправляете ошибку, специфичную только для одной поддерживаемой ветки,
67+ переключитесь на соответствующую ветку.
9568
96- Если вы исправляете баг, который специфичен для одной из
97- поддерживаемых веток, выберите эту ветку, например, ` {{ site.svn.previous.version }} ` .
69+ $ git checkout ruby_X_X
9870
99- $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }}
71+ ` X_X ` следует заменить на версию, на которую вы хотите переключиться.
10072
101732 . Добавьте ваши улучшения в код.
10274
103753 . Создайте патч.
10476
105- $ svn diff > ruby-changes.patch
77+ $ git diff > ruby-changes.patch
10678
107- 4 . Создайте тикет в [ специальном форуме ] [ 10 ] или вышлите свой патч в
108- рассылку [ Ruby-Core mailing list ] [ mailing-lists ]
109- с записью в Changelog, описывающую ваши изменения .
79+ 4 . Создайте тикет в [ системе отслеживания задач ] [ 10 ] или отправьте ваш патч на
80+ [ почтовую рассылку Ruby-Core] [ mailing-lists ] вместе с записью ChangeLog,
81+ описывающей патч .
11082
111- 5 . Если с патчем не возникнет никаких проблем, программисты имеющие
112- права на добавление кода в репозитории, добавят ваш патч.
83+ 5 . Если к патчу не будет вопросов, коммиттеры получат одобрение на его применение.
11384
114- ** Пожалуйста, обратите внимание:** что патчи должны быть предложены как
115- [ унифицированный дифф] [ 12 ] . Для большей информации о том как применяют
116- патчи, пожалуйста читайте [ the diffutils reference] [ 13 ] .
85+ ** Пожалуйста, обратите внимание:** патчи должны предоставляться в формате [ unified diff] [ 12 ] .
86+ Для получения дополнительной информации о том, как объединяются патчи, см. [ справочник diffutils] [ 13 ] .
11787
118- Обсуждение разработки Ruby происходит в почтовой рассылке
119- [ Ruby-Core mailing list] [ mailing-lists ] . Таким образом, если вы размышляете
120- о том, будет ли ваш патч полезен, или вы хотите начать обсуждение о
121- будущем Ruby, не медлите начать общение. Учтите также, что обсуждения не
122- по теме не приветствуются в данной рассылке. Уровень шума должен быть
123- низок, темы должны быть точными, продуманными и хорошо написанными. Так
124- как рассылка приходит создателю Ruby, давайте будем вежливы.
88+ Обсуждение разработки Ruby происходит в
89+ [ почтовой рассылке Ruby-Core] [ mailing-lists ] . Так что, если вам интересно,
90+ стоит ли ваш патч внимания, или вы хотите начать обсуждение
91+ будущего Ruby, не стесняйтесь присоединиться. Учтите, что
92+ обсуждения не по теме не допускаются в этой рассылке, уровень шума
93+ должен быть очень низким, темы должны быть конкретными, хорошо продуманными и
94+ грамотно написанными. Поскольку мы обращаемся к создателю Ruby, давайте проявим
95+ уважение.
12596
126- Держите в уме, несмотря на то, что разработчики ядра Ruby большинством
127- своим живут в Японии и многие из них владеют английским очень хорошо,
128- присутствует значительная разница во времени. Разработчики ядра также
129- имеют большое количество обсуждаемых на японском языке вещей, которые
130- происходят параллельно с задачами, обсуждаемыми на английском. Будьте
131- терпеливы и, если ваша проблема не решена, будьте настойчивы в следующей
132- попытке через несколько дней.
97+ Имейте в виду, что многие из основных разработчиков Ruby живут в Японии, и, хотя многие
98+ из них очень хорошо говорят по-английски, существует значительная разница в часовых поясах.
99+ У них также есть целый набор японских списков разработчиков, которые существуют
100+ параллельно с английскими аналогами. Будьте терпеливы; если ваша заявка не
101+ рассмотрена, будьте настойчивы — попробуйте еще раз через несколько дней.
133102
134- ### Правила для разработчиков ядра
135- {: #coding-standards }
103+ ### Заметка о ветках
104+ {: #branches-ruby }
136105
137- Обычно, разработчики Ruby должны быть знакомы с исходным кодом и стилем
138- разработки, используемым командой. Но на всякий случай, следующие
139- правила должны уважаться, когда вы что-то изменяете:
106+ Исходный код Ruby управлялся в репозитории Subversion до 22 апреля 2019 года.
107+ Таким образом, некоторые ветки всё ещё могут управляться в Subversion.
108+ Вы можете посмотреть репозиторий SVN.
140109
141- * Все добавления должны быть описаны в ` ChangeLog ` файле, следуя [ GNU
142- конвенции] [ 14 ] . (Многие разработчики ядра используют режим Emacs'а
143- ` add-log ` , который может быть включен командой ` C-x 4 a ` .)
144- * Даты изменений должны быть представлены в формате Japan Standard Time
145- (UTC+9).
146- * Буллиты из вашего ChangeLog должны также быть представлены в
147- комментарии к вашему коммиту в Subversion. Сообщение будет
148- автоматически выслано в рассылку Ruby-CVS после вашего коммита.
149- * Прототипы функций используются в исходном коде Ruby и его расширениях.
150- * Пожалуйста, не используйте C++ комментарии (` // ` ), разработчики ядра
151- предпочитают стиль многострочных комментариев C (` /* .. */ ` ).
110+ * [ < ; URL:https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby > ; ] [ svn-viewvc ]
152111
153- Также, для большей информации читайте [ Ruby's issue tracker] [ 10 ]
112+ Однако вам не нужно об этом беспокоиться (если вы не мейнтейнер ветки).
113+ Вы можете переключаться на ветки в вашей рабочей копии Git.
114+ Например, выполните следующую команду:
115+
116+ {% highlight sh %}
117+ $ git checkout ruby_X_X
118+ {% endhighlight %}
154119
120+ ` X_X ` следует заменить на версию, на которую вы хотите переключиться.
155121
122+ Если вы хотите изменить ветки, пожалуйста, откройте задачу в нашей [ системе отслеживания задач] [ 10 ] .
123+ Смотрите также следующий раздел.
156124
125+ [ gitrlo ] : https://git.ruby-lang.org/ruby.git
157126[ mailing-lists ] : /ru/community/mailing-lists/
158- [ 1 ] : http://subversion.apache.org/
159- [ 2 ] : https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/
160- [ 3 ] : http://subversion.apache.org/faq.html
161- [ 4 ] : http://svnbook.org
162- [ 5 ] : http://www.pragmaticprogrammer.com/titles/svn/
163- [ 6 ] : http://git-scm.com/
127+ [ writing-patches ] : /ru/community/ruby-core/writing-patches/
128+ [ noncommitterhowto ] : https://github.com/shyouhei/ruby/wiki/noncommitterhowto
129+ [ svn-viewvc ] : https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby
164130[ 7 ] : https://github.com/ruby/ruby
165- [ 8 ] : https://github.com/shyouhei/ruby/wiki/committerhowto
166- [ 9 ] : https://github.com/shyouhei/ruby/wiki/noncommitterhowto
167131[ 10 ] : https://bugs.ruby-lang.org/
168- [ 11 ] : https://blade.ruby-lang.org/ruby-core/25139
169132[ 12 ] : http://www.gnu.org/software/diffutils/manual/html_node/Unified-Format.html
170133[ 13 ] : http://www.gnu.org/software/diffutils/manual/html_node/Merging-with-patch.html#Merging%20with%20patch
171- [ 14 ] : http://www.gnu.org/prep/standards/standards.html#Change-Logs
0 commit comments