Your SlideShare is downloading. ×
0
Contributing to
 Ruby on Rails
Agenda

• Why?
• What?
• How?
• http://ryanbigg.com/2010/04/want-it-give/
• enjoy the bad language

             why - what - how
Issues

• 900 open tickets
• development hell
• „I don’t know enough about Rails to do
  anything with any of the tickets....
Why you should

• You use it, it‘s only fair
• Timezones!
• You can learn a lot
• You can
               why - what - how
Why you want to

• You might find it interesting
• You can take part in a community
• It looks great on your CV

          ...
Document

• on a branch (docrails)
• Rails guides
• API Documentation
• Wiki
             why - what - how
Duplicate

• Try it on your installation
• Try it with your ruby version and OS
• Try finding where it started

           ...
Test a patch

• Download a patch
• Apply it and run the tests
• Read the patch
• Document your findings
             why - ...
Fix

• coding conventions
• fix a bug
• find someone who could fix a bug

           why - what - how
Create a bug report

1. Describe the bug in detail
2. Improve the unit tests to explain better
3. Implement a fix
4. Post a...
Rails Lighthouse

• Creating a feature request? Please don't.
• state:open not-tagged:patch not-tagged:doc
  > 809 Tickets...
get ready...

• ruby 1.8.7 (rvm)
• gem update --system
• gem install mocha
• gem install bundler
• bundle install
        ...
... set ...

• postgresql
• mysql
• sqlite
• Lighthouse Account
• Github: no pull requests accepted
             why - wha...
Download
git clone http://github.com/
rails/rails.git


git branch --track 2-3-stable
origin/2-3-stable



        why - w...
rake


cd rails
rake




           why - what - how
module tests

cd rails/activerecord
rake mysql:build_databases
rake



        why - what - how
Test a patch

git checkout -b my_branch
git apply patchfile.diff
rake



        why - what - how
Synchronize!
git commit -a -m “great patch“
git checkout master
git pull
git checkout my_branch
git rebase master
rake
   ...
Create a patch


git format-patch master
--stdout > my_great_patch.diff




        why - what - how
git bisect

git bisect start
git bisect bad
git bisect good c1d7327



        why - what - how
try




why - what - how
Agenda Revisited

• Why?
• What?
• How?
Resources

• https://rails.lighthouseapp.com/
• http://ryanbigg.com/2010/04/want-it-give/
• http://guides.rails.info/
  co...
Lukas Eppler

lukas.eppler@simplificator.com
Contributing to rails
Contributing to rails
Contributing to rails
Contributing to rails
Upcoming SlideShare
Loading in...5
×

Contributing to rails

933

Published on

There are 900 Tickets currently in the Rails Lighthouse, some big, many small, and some relevant for Rails 3. Many of those issues could be fixed by people like us without too much effort.
Using online resources and a short demo we want do find out how to use the Rails Lighthouse, how to clone edge rails and how to run the test suites, and how one can create patches out of the fixes to make them available to the developers.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
933
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide





























  • Transcript of "Contributing to rails"

    1. 1. Contributing to Ruby on Rails
    2. 2. Agenda • Why? • What? • How?
    3. 3. • http://ryanbigg.com/2010/04/want-it-give/ • enjoy the bad language why - what - how
    4. 4. Issues • 900 open tickets • development hell • „I don’t know enough about Rails to do anything with any of the tickets.“ why - what - how
    5. 5. Why you should • You use it, it‘s only fair • Timezones! • You can learn a lot • You can why - what - how
    6. 6. Why you want to • You might find it interesting • You can take part in a community • It looks great on your CV why - what - how
    7. 7. Document • on a branch (docrails) • Rails guides • API Documentation • Wiki why - what - how
    8. 8. Duplicate • Try it on your installation • Try it with your ruby version and OS • Try finding where it started why - what - how
    9. 9. Test a patch • Download a patch • Apply it and run the tests • Read the patch • Document your findings why - what - how
    10. 10. Fix • coding conventions • fix a bug • find someone who could fix a bug why - what - how
    11. 11. Create a bug report 1. Describe the bug in detail 2. Improve the unit tests to explain better 3. Implement a fix 4. Post a diff why - what - how
    12. 12. Rails Lighthouse • Creating a feature request? Please don't. • state:open not-tagged:patch not-tagged:doc > 809 Tickets • Read why - what - how
    13. 13. get ready... • ruby 1.8.7 (rvm) • gem update --system • gem install mocha • gem install bundler • bundle install why - what - how
    14. 14. ... set ... • postgresql • mysql • sqlite • Lighthouse Account • Github: no pull requests accepted why - what - how
    15. 15. Download git clone http://github.com/ rails/rails.git git branch --track 2-3-stable origin/2-3-stable why - what - how
    16. 16. rake cd rails rake why - what - how
    17. 17. module tests cd rails/activerecord rake mysql:build_databases rake why - what - how
    18. 18. Test a patch git checkout -b my_branch git apply patchfile.diff rake why - what - how
    19. 19. Synchronize! git commit -a -m “great patch“ git checkout master git pull git checkout my_branch git rebase master rake why - what - how
    20. 20. Create a patch git format-patch master --stdout > my_great_patch.diff why - what - how
    21. 21. git bisect git bisect start git bisect bad git bisect good c1d7327 why - what - how
    22. 22. try why - what - how
    23. 23. Agenda Revisited • Why? • What? • How?
    24. 24. Resources • https://rails.lighthouseapp.com/ • http://ryanbigg.com/2010/04/want-it-give/ • http://guides.rails.info/ contributing_to_rails.html • http://railsbridge.org/BugMashGuide.pdf
    25. 25. Lukas Eppler lukas.eppler@simplificator.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×