@@ -12,60 +12,36 @@ So, where do you start?
12
12
13
13
The topics related to Ruby development covered here are:
14
14
15
- * [ Using Subversion to Track Ruby Development] ( #following-ruby )
16
- * [ How to Use Git With the Main Ruby Repository] ( #git-ruby )
15
+ * [ Using Git to Track Ruby Development] ( #following-ruby )
17
16
* [ Improving Ruby, Patch by Patch] ( #patching-ruby )
18
17
* [ Rules for Core Developers] ( #coding-standards )
19
18
20
- ### Using Subversion to Track Ruby Development
19
+ ### Using Git to Track Ruby Development
21
20
{: #following-ruby}
22
21
23
- Getting the latest Ruby source code is a matter of an anonymous checkout
24
- from the [ Subversion] [ 1 ] repository. From your command line:
22
+ The current primary repository of the latest Ruby source code is
23
+ [ git.ruby-lang.org/ruby.git] [ gitrlo ] .
24
+ There is also a [ mirror on GitHub] [ 7 ] . Usually, please use this mirror.
25
+
26
+ You can get the latest Ruby source code by using Git.
27
+ From your command line:
25
28
26
29
{% highlight sh %}
27
- $ svn co https://svn.ruby-lang.org/repos/ ruby/trunk ruby
30
+ $ git clone https://github.com/ ruby/ruby.git
28
31
{% endhighlight %}
29
32
30
33
The ` ruby ` directory will now contain the latest source code
31
34
for the development version of Ruby (ruby-trunk).
32
- Currently patches applied to the trunk are backported to the stable
33
- {{ site.svn.stable.version }}, {{ site.svn.previous.version }},
34
- and {{ site.svn.old.version }} branches (see below).
35
-
36
- If you’d like to follow patching of Ruby {{ site.svn.stable.version }},
37
- you should use the ` {{ site.svn.stable.branch }} ` branch when checking out:
38
35
39
- {% highlight sh %}
40
- $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.stable.branch }}
41
- {% endhighlight %}
36
+ See also [ Non-committer’s HOWTO to join our development] [ noncommitterhowto ] .
42
37
43
- Similarly for Ruby {{ site.svn.previous.version }}:
38
+ If you have commit access, and if you want to push something,
39
+ you should use the primary repository.
44
40
45
41
{% 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
47
43
{% endhighlight %}
48
44
49
- This will check out the respective development tree into a
50
- ` {{ site.svn.stable.branch }} ` or ` {{ site.svn.previous.branch }} ` directory.
51
- Developers working on the maintenance branches are expected to migrate
52
- their changes to Ruby’s trunk, so often the branches are very similar,
53
- with the exception of improvements made by Matz and Nobu to the language
54
- itself.
55
-
56
- If you prefer, you may browse [ Ruby’s Subversion repository via the web] [ 2 ] .
57
-
58
- For information about Subversion, please see the [ Subversion FAQ] [ 3 ]
59
- and the [ Subversion book] [ 4 ] . Alternatively, you may find
60
- [ Pragmatic Version Control with Subversion] [ 5 ] to be a useful introductory book.
61
-
62
- ### How to Use Git With the Main Ruby Repository
63
- {: #git-ruby}
64
-
65
- Those who prefer to use [ Git] [ 6 ] over Subversion can find instructions
66
- with the [ mirror on GitHub] [ 7 ] , both for [ those with commit access] [ 8 ]
67
- and [ everybody else] [ 9 ] .
68
-
69
45
### Improving Ruby, Patch by Patch
70
46
{: #patching-ruby}
71
47
@@ -81,25 +57,24 @@ straight from Matz, on how to get your patches considered.
81
57
82
58
To summarize, the steps for building a patch are:
83
59
84
- 1 . Check out a copy of the Ruby source code from Subversion .
60
+ 1 . Check out a copy of the Ruby source code from GitHub .
85
61
Usually patches for bugfixes or new features should be submitted
86
- for the trunk of Ruby’s source. Even if you wish to add a feature
87
- to Ruby {{ site.svn.previous.version }}, it has to be proven in
88
- the trunk first.
62
+ for the trunk of Ruby’s source.
89
63
90
- $ svn co https://svn.ruby-lang.org/repos/ ruby/trunk ruby
64
+ $ git clone https://github.com/ ruby/ruby.git
91
65
92
66
If you are fixing a bug that is specific to only one maintenance branch,
93
- check out a copy of the respective branch,
94
- e.g. ` {{ site.svn.previous.branch }} ` .
67
+ check out a copy of the respective branch.
95
68
96
- $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }}
69
+ $ git checkout ruby_X_X
70
+
71
+ X_X should be replaced with a version that you want to check out.
97
72
98
73
2 . Add your improvements to the code.
99
74
100
75
3 . Create a patch.
101
76
102
- $ svn diff > ruby-changes.patch
77
+ $ git diff > ruby-changes.patch
103
78
104
79
4 . Create a ticket in the [ issue tracker] [ 10 ] or email your patch to
105
80
the [ Ruby-Core mailing list] [ mailing-lists ] with a ChangeLog entry
@@ -120,47 +95,40 @@ should be very low, topics should be pointed, well-conceived and
120
95
well-written. Since we’re addressing Ruby’s creator, let’s have some
121
96
reverence.
122
97
123
- Keep in mind that Ruby’s core developers live in Japan and, while many
98
+ Keep in mind that many Ruby’s core developers live in Japan and, while many
124
99
speak very good English, there is a significant timezone difference.
125
100
They also have an entire body of Japanese development lists happening
126
101
alongside the English counterparts. Be patient, if your claim isn’t
127
102
resolved, be persistent—give it another shot a few days later.
128
103
129
- ### Rules for Core Developers
130
- {: #coding-standards}
131
104
132
- Generally, the developers of Ruby should be familiar with the source
133
- code and the style of development used by the team. To be clear, the
134
- following guidelines should be honored when checking into Subversion:
105
+ ### Note about branches
106
+
107
+ The source code of Ruby had been managed under Subversion repository until 22rd April 2019.
108
+ Thus, some branches may be still managed under Subversion.
109
+ You can view the SVN repository.
135
110
136
- * All check-ins should be described in the ` ChangeLog ` , following the
137
- [ GNU conventions] [ 14 ] . (Many Ruby core developers use Emacs ` add-log `
138
- mode, which can be accessed with the command ` C-x 4 a ` .)
139
- * Check-in dates should be given in Japan Standard Time (UTC+9).
140
- * The bulleted points from your ChangeLog should also be placed in the
141
- Subversion commit message. This message will be automatically mailed
142
- to the Ruby-CVS list after you commit.
143
- * Function prototypes are used throughout Ruby’s source code and its
144
- packaged extensions.
145
- * Please, do not use C++-style comments (` // ` ), Ruby’s maintainers
146
- instead prefer the standard C multi-line comment (` /* .. */ ` ).
111
+ * [ < ; URL:https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby > ; ] [ svn-viewvc ]
147
112
148
- See also the information in [ Ruby’s issue tracker] [ 10 ] .
113
+ However, you don't have to care about it (unless you are a branch maintainer).
114
+ You can check out the branches in your Git working copy.
115
+ For example, run the following command.
116
+
117
+ {% highlight sh %}
118
+ $ git checkout ruby_X_X
119
+ {% endhighlight %}
149
120
121
+ X_X should be replaced with a version that you want to check out.
150
122
123
+ If you want to modify the branches, please open an issue in our [ issue tracker] [ 10 ] .
124
+ See also the following section.
151
125
126
+ [ gitrlo ] : https://git.ruby-lang.org/ruby.git
152
127
[ mailing-lists ] : /en/community/mailing-lists/
153
128
[ writing-patches ] : /en/community/ruby-core/writing-patches/
154
- [ 1 ] : http://subversion.apache.org/
155
- [ 2 ] : https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/
156
- [ 3 ] : http://subversion.apache.org/faq.html
157
- [ 4 ] : http://svnbook.org
158
- [ 5 ] : http://www.pragmaticprogrammer.com/titles/svn/
159
- [ 6 ] : http://git-scm.com/
129
+ [ noncommitterhowto ] : https://github.com/shyouhei/ruby/wiki/noncommitterhowto
130
+ [ svn-viewvc ] : https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby
160
131
[ 7 ] : https://github.com/ruby/ruby
161
- [ 8 ] : https://github.com/shyouhei/ruby/wiki/committerhowto
162
- [ 9 ] : https://github.com/shyouhei/ruby/wiki/noncommitterhowto
163
132
[ 10 ] : https://bugs.ruby-lang.org/
164
133
[ 12 ] : http://www.gnu.org/software/diffutils/manual/html_node/Unified-Format.html
165
134
[ 13 ] : http://www.gnu.org/software/diffutils/manual/html_node/Merging-with-patch.html#Merging%20with%20patch
166
- [ 14 ] : http://www.gnu.org/prep/standards/standards.html#Change-Logs
0 commit comments