Skip to content

Commit ad613ff

Browse files
authored
Update Ruby Core page (ru) (#3913)
1 parent 3e0393e commit ad613ff

1 file changed

Lines changed: 78 additions & 116 deletions

File tree

ru/community/ruby-core/index.md

Lines changed: 78 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -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

10173
2. Добавьте ваши улучшения в код.
10274

10375
3. Создайте патч.
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

Comments
 (0)