Skip to content
Will Pragnell edited this page Sep 15, 2013 · 10 revisions

Non-committer’s howto to join our development

If you don’t have a direct access to the Ruby’s canonical repository, you can still collaborate with us by cloning this repository.

First you have to clone this repository.

% git clone git://github.com/ruby/ruby.git

Then you’d better create your own branch.
% git checkout -b mybranch origin/trunk

A tip here is that Ruby’s canonical repository is maintained using Subversion so origin/trunk is the “edge” branch.

You can edit the checked-out ruby source code as you like. Commit occasionally. Also take a look at the Redmine wiki, where some rules & manners for the project are pointed out. You might also see Matz’s guide to patch writers to be valuable. If you want your branch to be merged, you should better obey that.

% git commit -a -m ‘write a detailed commit log’

Once you think it is OK to merge your branch into upstream/trunk, next thing you have to do is to fork my project. Go to my github project page and click that fork button. Once you have forked, you should have your clone URL like git@github.com:${yournick}/ruby.git. Add that to your repository’s remote,

% git remote add github git@github.com:${yournick}/ruby.git

and push your branch.
% git push github mybranch

Then send me a pull request. I cannot promise (that depends on your branch’s content,) but I may perhaps merge your branch to mine.

Feature requests vs. Bug fixes

I sometimes reply to you saying “send us a feature request”, because a pull request to improve ruby should be peer-reviewed by core team. It is fairly simple to do so, just visit http://redmine.ruby-lang.org/projects/ruby/issues/new and submit a “Tracker: Feature” issue. I can merge your changes once you have persuaded them.

OTOH I can directly pull your changes when that is a fix for some issue(s). Don’t hesitate to request me first. When needed I will redirect you to the redmine.

Clone this wiki locally