-
Notifications
You must be signed in to change notification settings - Fork 22
NonCommitterHowto
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.gitand 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.
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.