@@ -4,10 +4,10 @@ title: "Ruby Core"
4
4
lang : en
5
5
---
6
6
7
- Now is a fantastic time to follow Ruby’s development, with Ruby 2.0
8
- development underway. With the increased attention Ruby has received in
9
- the past few years, there’s a growing need for good talent to help
10
- enhance Ruby and document its parts. So, where do you start?
7
+ Now is a fantastic time to follow Ruby’s development. With the increased
8
+ attention Ruby has received in the past few years, there’s a growing need
9
+ for good talent to help enhance Ruby and document its parts.
10
+ So, where do you start?
11
11
12
12
The topics related to Ruby development covered here are:
13
13
@@ -19,41 +19,39 @@ The topics related to Ruby development covered here are:
19
19
### Using Subversion to Track Ruby Development
20
20
{: #following-ruby}
21
21
22
- Checking out the latest Ruby source code is a matter of logging into the
23
- [ Subversion] [ 1 ] anonymous account . From your command line:
22
+ Getting the latest Ruby source code is a matter of an anonymous checkout
23
+ from the [ Subversion] [ 1 ] repository . From your command line:
24
24
25
25
{% highlight sh %}
26
26
$ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
27
27
{% endhighlight %}
28
28
29
- The ` ruby ` directory will now contain the latest source code for Ruby
30
- 1.9 (trunk), which is the development version of Ruby. The trunk was
31
- used to release a stable 1.9.1 version in January 2009. Currently
32
- patches applied to the trunk are backported to the stable 1\_ 9\_ 1 branch
33
- (see below).
29
+ The ` ruby ` directory will now contain the latest source code
30
+ for the development version of Ruby (ruby-trunk).
31
+ Currently patches applied to the trunk are backported to the
32
+ stable 2.0.0 and 1.9.3 branches (see below).
34
33
35
- If you’d like to follow patching of Ruby 1.9.1 , you should use the
36
- ` ruby_1_9_1 ` branch when checking out:
34
+ If you’d like to follow patching of Ruby 2.0.0 , you should use the
35
+ ` ruby_2_0_0 ` branch when checking out:
37
36
38
37
{% highlight sh %}
39
- $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1
38
+ $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_2_0_0
40
39
{% endhighlight %}
41
40
42
- If you’d like to follow patching of Ruby 1.8, you should use the
43
- ` ruby_1_8_6 ` or ` ruby_1_8_7 ` branch when checking out (depending on the
44
- version you’re using):
41
+ If you’d like to follow patching of Ruby 1.9.3, you should use the
42
+ ` ruby_1_9_3 ` branch when checking out:
45
43
46
44
{% highlight sh %}
47
- $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_7
45
+ $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_3
48
46
{% endhighlight %}
49
47
50
- This will check out the Ruby 1.8.7 development tree into a ` ruby_1_8_7 `
51
- directory. Developers working on Ruby 1.8 are expected to migrate their
52
- changes to Ruby’s trunk, so often the two branches are very similiar ,
48
+ This will check out the Ruby 1.9.3 development tree into a ` ruby_1_9_3 `
49
+ directory. Developers working on Ruby 1.9.3 are expected to migrate their
50
+ changes to Ruby’s trunk, so often the two branches are very similar ,
53
51
with the exception of improvements made by Matz and Nobu to the language
54
52
itself.
55
53
56
- If you prefer, you may browse [ Ruby’s repository via the web] [ 2 ] .
54
+ If you prefer, you may browse [ Ruby’s Subversion repository via the web] [ 2 ] .
57
55
58
56
For information about Subversion, please see [ the Subversion FAQ] [ 3 ] and
59
57
[ the Subversion book] [ 4 ] . Alternatively, you may find [ Pragmatic Version
@@ -69,7 +67,7 @@ and [everybody else][9].
69
67
### Improving Ruby, Patch by Patch
70
68
{: #patching-ruby}
71
69
72
- The core team maintains [ a bug tracker] [ 10 ] for submitting patches and
70
+ The core team maintains an [ issue tracker] [ 10 ] for submitting patches and
73
71
bug reports to Matz and the gang. These reports also get submitted to
74
72
the [ Ruby-Core mailing list] ( /en/community/mailing-lists/ ) for
75
73
discussion, so you can be sure your request won’t go unnoticed. You can
@@ -81,24 +79,26 @@ from Matz, on how to get your patches considered.
81
79
82
80
To summarize, the steps for building a patch are:
83
81
84
- 1 . If you are fixing a bug in Ruby 1.8, check out a copy of Ruby 1.8
85
- from Subversion using the ` ruby_1_8 ` branch.
82
+ 1 . Check out a copy of the Ruby source code from Subversion.
83
+ Usually patches for bugfixes or new features should be submitted
84
+ for the trunk of Ruby’s source. Even if you wish to add a feature
85
+ to Ruby 1.9.3, it has to be proven in the trunk first.
86
86
87
- $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8
87
+ $ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
88
88
89
- If you wish to add a feature to Ruby, check out the trunk of Ruby’s
90
- source. Even if you wish to add a feature to Ruby 1.8, it has to be
91
- proven in the trunk first.
89
+ If you are fixing a bug that is specific to only one maintenance branch,
90
+ check out a copy of the respective branch, e.g. ` ruby_1_9.3 ` .
92
91
93
- $ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby
92
+ $ svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_3
94
93
95
94
2 . Add your improvements to the code.
96
95
97
96
3 . Create a patch.
98
97
99
98
$ svn diff > ruby-changes.patch
100
99
101
- 4 . Email your patch to the [ Ruby-Core mailing
100
+ 4 . Create a ticket in the [ issue tracker] [ 10 ] or
101
+ email your patch to the [ Ruby-Core mailing
102
102
list] ( /en/community/mailing-lists/ ) with a ChangeLog entry
103
103
describing the patch.
104
104
@@ -142,6 +142,8 @@ following guidelines should be honored when checking into Subversion:
142
142
* Please, do not use C++-style comments (` // ` ), Ruby’s maintainers
143
143
instead prefer the standard C multi-line comment. (` /* .. */ ` )
144
144
145
+ See also the information in [ Ruby’s issue tracker] [ 10 ] .
146
+
145
147
146
148
147
149
[ 1 ] : http://subversion.apache.org/
0 commit comments