CommitterHowto
Version 9 (shyouhei (Shyouhei Urabe), 03/12/2009 09:46 pm)
| 1 | 2 | yugui (Yuki Sonoda) | = Committer How to |
|---|---|---|---|
| 2 | 1 | yugui (Yuki Sonoda) | |
| 3 | 2 | yugui (Yuki Sonoda) | == How to become a committer |
| 4 | 4 | yugui (Yuki Sonoda) | * Send good patches to ruby-core list. Send patches, send patches and send patches. Someday the core team will say "OK, commit it by yourself" and you will be granted commit right. |
| 5 | 9 | shyouhei (Shyouhei Urabe) | * Port Ruby to a non-POSIX platform. The core team will grant you to the permission so that you can maintain Ruby for that platform. |
| 6 | 2 | yugui (Yuki Sonoda) | * Write a great library. If the core team wanted to add the library to Ruby's standard library, you will be granted the right so that you can maintain it. |
| 7 | 4 | yugui (Yuki Sonoda) | * This way is very hard because RubyGems made it easy for users to installing a new library. |
| 8 | 2 | yugui (Yuki Sonoda) | |
| 9 | 9 | shyouhei (Shyouhei Urabe) | == What to do for registering you as a committer |
| 10 | 2 | yugui (Yuki Sonoda) | Send a mail with the following information to <cvs-admin AT ruby-lang.org>. [[ruby-dev:23675]], [[ruby-dev:24652]] |
| 11 | 2 | yugui (Yuki Sonoda) | * Your GPG public key. |
| 12 | 2 | yugui (Yuki Sonoda) | * Account name you want to use. This is for |
| 13 | 2 | yugui (Yuki Sonoda) | * Subversion |
| 14 | 2 | yugui (Yuki Sonoda) | * ((|your-account|))@ruby-lang.org |
| 15 | 2 | yugui (Yuki Sonoda) | * Your SSH2 public key. |
| 16 | 9 | shyouhei (Shyouhei Urabe) | * Where to forward your mail from ((|your-account|))@ruby-lang.org |
| 17 | 2 | yugui (Yuki Sonoda) | |
| 18 | 9 | shyouhei (Shyouhei Urabe) | You must sign that mail with GPG. [[ruby-dev:25599]] |
| 19 | 2 | yugui (Yuki Sonoda) | |
| 20 | 9 | shyouhei (Shyouhei Urabe) | == What is necessary |
| 21 | 2 | yugui (Yuki Sonoda) | * Development environment for your platform |
| 22 | 9 | shyouhei (Shyouhei Urabe) | * Another ruby - 1.9 series of ruby needs a ruby binary to bootstrap itself. (BASERUBY) |
| 23 | 2 | yugui (Yuki Sonoda) | * BASERUBY can be Ruby 1.8 |
| 24 | 2 | yugui (Yuki Sonoda) | * subversion |
| 25 | 2 | yugui (Yuki Sonoda) | * SSH client |
| 26 | 2 | yugui (Yuki Sonoda) | * GnuPG |
| 27 | 2 | yugui (Yuki Sonoda) | * MUA |
| 28 | 2 | yugui (Yuki Sonoda) | * IRC client |
| 29 | 2 | yugui (Yuki Sonoda) | * autoconf (2.60 or later) |
| 30 | 2 | yugui (Yuki Sonoda) | * bison |
| 31 | 2 | yugui (Yuki Sonoda) | * (gperf) |
| 32 | 2 | yugui (Yuki Sonoda) | * (git) |
| 33 | 2 | yugui (Yuki Sonoda) | |
| 34 | 8 | yugui (Yuki Sonoda) | === How to use GPG |
| 35 | 2 | yugui (Yuki Sonoda) | How to generate your GPG keys |
| 36 | 7 | yugui (Yuki Sonoda) | * ((<URL:http://www.gnupg.org/>)) |
| 37 | 2 | yugui (Yuki Sonoda) | |
| 38 | 2 | yugui (Yuki Sonoda) | How to sign a mail with GPG |
| 39 | 9 | shyouhei (Shyouhei Urabe) | * ((<EnigMail|URL:https://addons.mozilla.org/en-US/thunderbird/addon/71>)) for Thunderbird |
| 40 | 2 | yugui (Yuki Sonoda) | * ((<GPGMail|URL:http://www.sente.ch/software/GPGMail/English.lproj/GPGMail.html>)) for Apple Mail.app |
| 41 | 2 | yugui (Yuki Sonoda) | |
| 42 | 8 | yugui (Yuki Sonoda) | === How to generate your SSH keys |
| 43 | 9 | shyouhei (Shyouhei Urabe) | You might already have your keys when you have OpenSSH. See (((%~/.ssh/id_rsa%)) or ((%~/.ssh/id_dsa%)). You can use them if you have. |
| 44 | 2 | yugui (Yuki Sonoda) | |
| 45 | 9 | shyouhei (Shyouhei Urabe) | Otherwise generate one with ssh-keygen(1). |
| 46 | 2 | yugui (Yuki Sonoda) | $ ssh-keygen -b 2048 -f ruby_key |
| 47 | 2 | yugui (Yuki Sonoda) | Generating public/private rsa key pair. |
| 48 | 3 | yugui (Yuki Sonoda) | Enter passphrase (empty for no passphrase): <TYPE SOMETHING> |
| 49 | 3 | yugui (Yuki Sonoda) | Enter same passphrase again: <TYPE SOMETHING> |
| 50 | 2 | yugui (Yuki Sonoda) | Your identification has been saved in ruby_key. |
| 51 | 2 | yugui (Yuki Sonoda) | Your public key has been saved in ruby_key.pub. |
| 52 | 2 | yugui (Yuki Sonoda) | The key fingerprint is: |
| 53 | 2 | yugui (Yuki Sonoda) | XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX your@hostname |
| 54 | 2 | yugui (Yuki Sonoda) | |
| 55 | 2 | yugui (Yuki Sonoda) | Then you will have your private key ((%ruby_key%)) and public key ((%ruby_key.pub%)). Keep your private key secret. Pass the public key to the cvs-admin. |
| 56 | 2 | yugui (Yuki Sonoda) | |
| 57 | 8 | yugui (Yuki Sonoda) | === IRC |
| 58 | 2 | yugui (Yuki Sonoda) | IRC clients |
| 59 | 2 | yugui (Yuki Sonoda) | * ((<LimeChat|URL:http://limechat.net/>)) - for win, mac |
| 60 | 2 | yugui (Yuki Sonoda) | * XChat (X), XChat-gnome (Gnome) |
| 61 | 9 | shyouhei (Shyouhei Urabe) | * riece (Emacs) |
| 62 | 2 | yugui (Yuki Sonoda) | |
| 63 | 2 | yugui (Yuki Sonoda) | IRC proxy bot |
| 64 | 2 | yugui (Yuki Sonoda) | * ((<Nadoka|URL:http://www.atdot.net/nadoka/nadoka.en.html>)) |
| 65 | 2 | yugui (Yuki Sonoda) | * ((<Tiarra|URL:http://www.clovery.jp/tiarra/>)) |
| 66 | 2 | yugui (Yuki Sonoda) | |
| 67 | 5 | yugui (Yuki Sonoda) | == What to do after you become a committer |
| 68 | 2 | yugui (Yuki Sonoda) | * Always build Ruby outside of (({$(srcdir)})) |
| 69 | 2 | yugui (Yuki Sonoda) | * e.g. Suppose that there are source codes in ((%/path/to/somewhere/src%)) and building at ((%/path/to/somewhere/obj%)). Then, at ((%obj%)), do ((%../src/configure%)) |
| 70 | 2 | yugui (Yuki Sonoda) | * Always build Ruby inside of (({$(srcdir)})) too. It is, do ((%./configure%)). |
| 71 | 2 | yugui (Yuki Sonoda) | * Subscribe ruby-core and ruby-cvs. |
| 72 | 2 | yugui (Yuki Sonoda) | * subscribe ruby-dev too if you read Japanese. |
| 73 | 2 | yugui (Yuki Sonoda) | * Sign up to the redmine. |
| 74 | 2 | yugui (Yuki Sonoda) | * Sign up with your mail address which you uses for sending to ruby-core. |
| 75 | 2 | yugui (Yuki Sonoda) | * Tell the mail address to another committer and ask him/her. Then (s)he will register you as a developer for [[project:Ruby]. |
| 76 | 2 | yugui (Yuki Sonoda) | * Keep contact to #ruby-core@freenode. |
| 77 | 2 | yugui (Yuki Sonoda) | * #ruby@ircnet:*.jp too if you read Japanese. |
| 78 | 2 | yugui (Yuki Sonoda) | * Sign up to ((<Coverity|URL:http://scan.coverity.com/>)). |
| 79 | 2 | yugui (Yuki Sonoda) | * Ask how to sign up to another committer at an IRC channel. |
| 80 | 9 | shyouhei (Shyouhei Urabe) | * Get your GPG key signed. |
| 81 | 9 | shyouhei (Shyouhei Urabe) | * Let other committer sign your key. |
| 82 | 9 | shyouhei (Shyouhei Urabe) | * Print your GPG fingerprints on your business card. |
| 83 | 1 | yugui (Yuki Sonoda) | |
| 84 | 5 | yugui (Yuki Sonoda) | == What to do when you commit |
| 85 | 5 | yugui (Yuki Sonoda) | === Consensus |
| 86 | 9 | shyouhei (Shyouhei Urabe) | * Never add a new feature or change a spec without discussion on the mailing list nor [[Maintainers|maintainer]]'s permission. |
| 87 | 9 | shyouhei (Shyouhei Urabe) | * Feel free to commit trivial changes, e.g. typo fix. |
| 88 | 9 | shyouhei (Shyouhei Urabe) | * Gradually learn what needs discussion and what you can commit without discussion. |
| 89 | 9 | shyouhei (Shyouhei Urabe) | * Never commit without compiling ruby. Compiling miniruby is not sufficient. |
| 90 | 9 | shyouhei (Shyouhei Urabe) | (1) Do ((%make test%)) too. (better than just building) |
| 91 | 9 | shyouhei (Shyouhei Urabe) | (2) Do ((%make test-all%)) too. (better than just test) |
| 92 | 9 | shyouhei (Shyouhei Urabe) | (3) Do ((%make test-rubyspec%)) too. (better than just test-all) |
| 93 | 5 | yugui (Yuki Sonoda) | |
| 94 | 9 | shyouhei (Shyouhei Urabe) | === Contact to a maintainer |
| 95 | 9 | shyouhei (Shyouhei Urabe) | * Some libraries are maintained on their own repository. On those libs the ones in the ruby's repository are just copy. |
| 96 | 5 | yugui (Yuki Sonoda) | * Send a mail to the maintainer after commit. |
| 97 | 5 | yugui (Yuki Sonoda) | * Send a patch to ruby-core and the maintainer instead of committing it directly if possible. |
| 98 | 5 | yugui (Yuki Sonoda) | |
| 99 | 5 | yugui (Yuki Sonoda) | * miniunit |
| 100 | 5 | yugui (Yuki Sonoda) | * rdoc |
| 101 | 5 | yugui (Yuki Sonoda) | * rubygems |
| 102 | 5 | yugui (Yuki Sonoda) | * rake |
| 103 | 5 | yugui (Yuki Sonoda) | * soap (1.8) |
| 104 | 5 | yugui (Yuki Sonoda) | * wsdl (1.8) |
| 105 | 5 | yugui (Yuki Sonoda) | |
| 106 | 9 | shyouhei (Shyouhei Urabe) | === Subversion |
| 107 | 9 | shyouhei (Shyouhei Urabe) | * Configuration for subversion |
| 108 | 5 | yugui (Yuki Sonoda) | * [[ruby-dev:30043]] (English) |
| 109 | 9 | shyouhei (Shyouhei Urabe) | * Configuration for ssh |
| 110 | 9 | shyouhei (Shyouhei Urabe) | * Learn how to use ssh-agent. Don't repeat yourself. |
| 111 | 9 | shyouhei (Shyouhei Urabe) | * Read ssh_config(5). |
| 112 | 9 | shyouhei (Shyouhei Urabe) | * Branching |
| 113 | 9 | shyouhei (Shyouhei Urabe) | * /trunk is for development. |
| 114 | 9 | shyouhei (Shyouhei Urabe) | * Each branch for stable versions. (e.g. ruby_1_8, ruby_1_8_7) |
| 115 | 9 | shyouhei (Shyouhei Urabe) | * Never commit two or more changesets as one commit. |
| 116 | 9 | shyouhei (Shyouhei Urabe) | * Commit log |
| 117 | 9 | shyouhei (Shyouhei Urabe) | * Write exactly what you have written in ((%ChangeLog%)) |
| 118 | 5 | yugui (Yuki Sonoda) | * You can command the Redmine in a commit message. |
| 119 | 5 | yugui (Yuki Sonoda) | * [[redmine:Wiki]] |
| 120 | 5 | yugui (Yuki Sonoda) | * svn mail |
| 121 | 5 | yugui (Yuki Sonoda) | * [[redmine:MailingList]] |
| 122 | 5 | yugui (Yuki Sonoda) | |
| 123 | 5 | yugui (Yuki Sonoda) | === ChangeLog |
| 124 | 5 | yugui (Yuki Sonoda) | ((<GNU Coding Standards : Change Logs|URL:http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs>)) |
| 125 | 5 | yugui (Yuki Sonoda) | |
| 126 | 5 | yugui (Yuki Sonoda) | Thu Jan 1 00:00:00 2004 Your Name <yourmail@example.com> |
| 127 | 5 | yugui (Yuki Sonoda) | |
| 128 | 5 | yugui (Yuki Sonoda) | * filename (function): short description of this commit. |
| 129 | 5 | yugui (Yuki Sonoda) | [mailinglist:number] |
| 130 | 5 | yugui (Yuki Sonoda) | |
| 131 | 9 | shyouhei (Shyouhei Urabe) | * Timestamps must be in JST (+09:00), in the style as above. |
| 132 | 9 | shyouhei (Shyouhei Urabe) | * Two whitespaces between the timestamp and your name. Two whitespaces between your name and your mail address. |
| 133 | 5 | yugui (Yuki Sonoda) | * One blank line between the timestamp and the description. |
| 134 | 5 | yugui (Yuki Sonoda) | * Indent the description with TAB. |
| 135 | 5 | yugui (Yuki Sonoda) | * Write a entry (*) for each change. |
| 136 | 5 | yugui (Yuki Sonoda) | * Refer discussion on the mailing list. |
| 137 | 5 | yugui (Yuki Sonoda) | * One blank line between entries. |
| 138 | 5 | yugui (Yuki Sonoda) | * Do as other committers do. |
| 139 | 9 | shyouhei (Shyouhei Urabe) | * What to write and what need not: [[ruby-talk:120515]] |
| 140 | 9 | shyouhei (Shyouhei Urabe) | * No need for an entry on fixing typo. |
| 141 | 9 | shyouhei (Shyouhei Urabe) | * Referring a contributor/reporter. |
| 142 | 5 | yugui (Yuki Sonoda) | * Respect contributors [[ruby-dev:24936]] |
| 143 | 9 | shyouhei (Shyouhei Urabe) | * Write one when you are not sure if you should write or not. |
| 144 | 5 | yugui (Yuki Sonoda) | |
| 145 | 5 | yugui (Yuki Sonoda) | ==== Template |
| 146 | 5 | yugui (Yuki Sonoda) | Thu Jan 1 03:03:03 2004 Your Name <yourmail@example.com> |
| 147 | 5 | yugui (Yuki Sonoda) | |
| 148 | 5 | yugui (Yuki Sonoda) | * filename.c (rb_xxx_yyy): short description of this commit. |
| 149 | 5 | yugui (Yuki Sonoda) | Fixes [ruby-dev:XXXX]. |
| 150 | 5 | yugui (Yuki Sonoda) | (rb_zzz_aaa): yet another part. |
| 151 | 5 | yugui (Yuki Sonoda) | |
| 152 | 5 | yugui (Yuki Sonoda) | * filename.h (MACRO_NAME): value changed. |
| 153 | 5 | yugui (Yuki Sonoda) | |
| 154 | 5 | yugui (Yuki Sonoda) | Thu Jan 1 02:02:02 2004 Your Name <yourmail@example.com> |
| 155 | 5 | yugui (Yuki Sonoda) | |
| 156 | 5 | yugui (Yuki Sonoda) | * filename.rb (XXXX#yyyy): short description of this commit. |
| 157 | 5 | yugui (Yuki Sonoda) | Patch by Foo Bar <foo-bar AT example.org>. |
| 158 | 5 | yugui (Yuki Sonoda) | |
| 159 | 5 | yugui (Yuki Sonoda) | Thu Jan 1 01:01:01 2004 Your Name <yourmail@example.com> |
| 160 | 5 | yugui (Yuki Sonoda) | |
| 161 | 5 | yugui (Yuki Sonoda) | * filename.c (rb_aaa_bbb): short description of this commit. |
| 162 | 5 | yugui (Yuki Sonoda) | See [ruby-core:XXX]. |
| 163 | 5 | yugui (Yuki Sonoda) | Reported by Baz Qux <baz-qux AT example.org>. |
| 164 | 5 | yugui (Yuki Sonoda) | |
| 165 | 5 | yugui (Yuki Sonoda) | === RDoc |
| 166 | 9 | shyouhei (Shyouhei Urabe) | Writing RDocs is preferred |
| 167 | 5 | yugui (Yuki Sonoda) | |
| 168 | 5 | yugui (Yuki Sonoda) | * ((<RDoc template|URL:http://arton.no-ip.info/collabo/backyard/?RDoc%A4%CE%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8>)) (Japanese) by arton |
| 169 | 5 | yugui (Yuki Sonoda) | * ((<RDoc Documentation|URL:http://www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/files/rdoc/README.html>)) |
| 170 | 5 | yugui (Yuki Sonoda) | |
| 171 | 5 | yugui (Yuki Sonoda) | === Reference manual |
| 172 | 5 | yugui (Yuki Sonoda) | * ((<Object oriented scripting language Ruby - Reference manual|URL:http://www.ruby-lang.org/ja/man/>)) (Japanese, frozen) |
| 173 | 5 | yugui (Yuki Sonoda) | * ((<Ruby reference manual renewal project|URL:ttp://doc.loveruby.net/refm/api/view/index>)) (Japanese, under development) |
| 174 | 5 | yugui (Yuki Sonoda) | |
| 175 | 5 | yugui (Yuki Sonoda) | === svn:ignore |
| 176 | 5 | yugui (Yuki Sonoda) | |
| 177 | 5 | yugui (Yuki Sonoda) | |
| 178 | 5 | yugui (Yuki Sonoda) | == How to announce |
| 179 | 5 | yugui (Yuki Sonoda) | How to announce from ruby-lang.org. |
| 180 | 5 | yugui (Yuki Sonoda) | |
| 181 | 5 | yugui (Yuki Sonoda) | === Subversion |
| 182 | 5 | yugui (Yuki Sonoda) | svn.ruby-lang.org is automatically synchronized with ci.ruby-lang.org. |
| 183 | 5 | yugui (Yuki Sonoda) | |
| 184 | 5 | yugui (Yuki Sonoda) | Send an email to svn-admin AT ruby-lang.org for administration request. |
| 185 | 5 | yugui (Yuki Sonoda) | |
| 186 | 5 | yugui (Yuki Sonoda) | === FTP |
| 187 | 5 | yugui (Yuki Sonoda) | Upload to carbon.ruby-lang.org:/home/ftp/pub/ with SCP. |
| 188 | 5 | yugui (Yuki Sonoda) | |
| 189 | 5 | yugui (Yuki Sonoda) | === WWW |
| 190 | 5 | yugui (Yuki Sonoda) | * Ask the www team on ((<redmine|URL:http://redmine.ruby-lang.org/projects/show/www>)). |
| 191 | 5 | yugui (Yuki Sonoda) | * Send an email to webmaster AT ruby-lang.org for administration request. |
| 192 | 5 | yugui (Yuki Sonoda) | |
| 193 | 5 | yugui (Yuki Sonoda) | === Redmine |
| 194 | 5 | yugui (Yuki Sonoda) | * You can edit any wiki page. (login required) |
| 195 | 9 | shyouhei (Shyouhei Urabe) | * Feature request or bug report on ((<redmine|URL:http://redmine.ruby-lang.org/projects/show/redmine>))へ |
| 196 | 5 | yugui (Yuki Sonoda) | * Send an email to yugui AT yugui.jp for administration request. |
| 197 | 5 | yugui (Yuki Sonoda) | |
| 198 | 5 | yugui (Yuki Sonoda) | === Servers |
| 199 | 5 | yugui (Yuki Sonoda) | * lithium, carbon, boron |
| 200 | 5 | yugui (Yuki Sonoda) | * Status |
| 201 | 5 | yugui (Yuki Sonoda) | * ci.ruby-lang.org: |
| 202 | 5 | yugui (Yuki Sonoda) | * svn (for development. members only) |
| 203 | 5 | yugui (Yuki Sonoda) | * svn.ruby-lang.org: |
| 204 | 5 | yugui (Yuki Sonoda) | * Anonymous svn: svn.ruby-lang.org |
| 205 | 5 | yugui (Yuki Sonoda) | * issue tracking system: redmine.ruby-lang.org |
| 206 | 5 | yugui (Yuki Sonoda) | * carbon.ruby-lang.org: |
| 207 | 5 | yugui (Yuki Sonoda) | * WWW: www.ruby-lang.org, raa.ruby-lang.org |
| 208 | 5 | yugui (Yuki Sonoda) | * FTP: ftp.ruby-lang.org |
| 209 | 5 | yugui (Yuki Sonoda) | * Anonymous CVS: cvs.ruby-lang.org |
| 210 | 5 | yugui (Yuki Sonoda) | * mailing lists |
| 211 | 5 | yugui (Yuki Sonoda) | * boron.rubyist.net: |
| 212 | 5 | yugui (Yuki Sonoda) | * WWW: www.rubyist.net |
| 213 | 5 | yugui (Yuki Sonoda) | * ((<list of elements|URL:http://en.wikipedia.org/wiki/List_of_elements_by_atomic_number>)) |
| 214 | 5 | yugui (Yuki Sonoda) | |
| 215 | 5 | yugui (Yuki Sonoda) | == Misc |
| 216 | 9 | shyouhei (Shyouhei Urabe) | * Tools for compilation |
| 217 | 5 | yugui (Yuki Sonoda) | * autoconf (2.60 or later) |
| 218 | 5 | yugui (Yuki Sonoda) | * bison |
| 219 | 5 | yugui (Yuki Sonoda) | * (gperf) |
| 220 | 5 | yugui (Yuki Sonoda) | * (ruby) (building the 1.9 needs ruby) |
| 221 | 9 | shyouhei (Shyouhei Urabe) | * Test cases |
| 222 | 9 | shyouhei (Shyouhei Urabe) | * Adding test cases (bootstraptest / test) |
| 223 | 9 | shyouhei (Shyouhei Urabe) | * Testing test cases |
| 224 | 5 | yugui (Yuki Sonoda) | * make test |
| 225 | 5 | yugui (Yuki Sonoda) | * make test-all |
| 226 | 5 | yugui (Yuki Sonoda) | * "make check" executes both test and test-all. |
| 227 | 5 | yugui (Yuki Sonoda) | * Integration with ((<RubySpec|URL:http://www.rubyspec.org>)) |
| 228 | 5 | yugui (Yuki Sonoda) | * make update-rubyspec for retrieving specs. |
| 229 | 5 | yugui (Yuki Sonoda) | * git required |
| 230 | 5 | yugui (Yuki Sonoda) | * make test-rubyspec for checking |
| 231 | 9 | shyouhei (Shyouhei Urabe) | * diff format |
| 232 | 5 | yugui (Yuki Sonoda) | * unified diff (-u) |
| 233 | 5 | yugui (Yuki Sonoda) | * -p |
| 234 | 5 | yugui (Yuki Sonoda) | * ((<ViewVC|URL:http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/?root=ruby>)) |
| 235 | 5 | yugui (Yuki Sonoda) | * ML : ruby-dev, ruby-list, ruby-core, ruby-talk |
| 236 | 5 | yugui (Yuki Sonoda) | * commit mail (ruby-cvs) |
| 237 | 5 | yugui (Yuki Sonoda) | * IRC channel |
| 238 | 5 | yugui (Yuki Sonoda) | * IRCnet: #ruby:*.jp (Japanese) |
| 239 | 5 | yugui (Yuki Sonoda) | * freenode: #ruby-core (English) |
| 240 | 5 | yugui (Yuki Sonoda) | * ((<CIA Open Source Notification System|URL:http://cia.navi.cx/stats/project/ruby>)) |
| 241 | 5 | yugui (Yuki Sonoda) | |
| 242 | 5 | yugui (Yuki Sonoda) | * .document |
| 243 | 5 | yugui (Yuki Sonoda) | * NEWS |
| 244 | 5 | yugui (Yuki Sonoda) | * Add an entry when you add a feature or change a spec. |
| 245 | 6 | yugui (Yuki Sonoda) | |
| 246 | 6 | yugui (Yuki Sonoda) | == See also |
| 247 | 6 | yugui (Yuki Sonoda) | * [[DeveloperHowTo]] |
| 248 | 6 | yugui (Yuki Sonoda) | * [[Maintainers]] |