Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to get your pull requests merged

How to get your pull requests merged

Yasuo Honda

May 30, 2019
Tweet

More Decks by Yasuo Honda

Other Decks in Technology

Transcript

  1. How to get your pull requests merged ۜ࠲Rails#9 2019/05/30 @yahonda

  2. ࣗݾ঺հͱ2ͭͷࢹ఺ • Rails contributor • Maintainer of Active Record Oracle

    enhanced adapter • Pull requestΛૹΔཱ৔ͱड͚औΔཱ৔
  3. ࿩͢͜ͱɺ࿩͞ͳ͍͜ͱ • ࿩͢͜ͱ • RailsϑϨʔϜϫʔΫͷ։ൃମ੍ • Railsʹpull requestΛૹΔͱ͖ʹ͢Δ͜ͱɺ͠ͳ͍͜ͱ • ࿩͞ͳ͍͜ͱ

    • ίʔυ • https://railsguides.jp/contributing_to_ruby_on_rails.html
  4. ͋ͳͨ͸ͳͥRailsʹpull requestΛ͓͘Δͷ͔

  5. ͋ͳͨͷ՝୊Λղܾ͢ΔͨΊ

  6. ͦͷͨΊʹඞཁͳ͜ͱ

  7. ͦͷpull request͕Railsʹऔ Γࠐ·ΕΔ΂͖ཧ༝Λίϛο λʔʹೲಘͯ͠΋Β͏͜ͱ

  8. RailsϑϨʔϜϫʔΫ։ൃମ੍ • ϦϦʔεεέδϡʔϧ • ίϛϡχςΟ • Pull requestΛϚʔδͰ͖Δͷ͸୭͔ • ݴޠ

    • ࣌ࠩ
  9. ͋ͳͨͷRailsΞϓϦέʔγϣ ϯ։ൃମ੍ͱಉ͡ͱ͜Ζ΋͋ Δ͠ɺҧ͏ͱ͜Ζ΋͋Δ

  10. ϦϦʔεεέδϡʔϧ • RailsͷϦϦʔεαΠΫϧ • Major, Minor: ೥୯ҐɺTeeny: ݄୯Ґ • Ծʹࠓ೔ɺpull

    requestϚʔδ͞Εͯೖͬͨ৽ػೳ͕Ϧ Ϧʔε͞ΕΔͷ͸Rails 6.1(͓ͦΒ͘2020೥Ҏ߱) • ͋ͳͨͷRailsΞϓϦέʔγϣϯͷϦϦʔεαΠΫϧ ͸ɺ͓ͦΒͦ͘ΕΑΓ୹͍͸ͣ
  11. ίϛϡχςΟ • DHH / Rails core / Rails committer •

    Rails contributors • ಉ͡ձࣾ/૊৫Ͱຖ೔Ұॹʹ͍ΔΘ͚Ͱ͸ͳ͍ • ίϛϡχςΟϝϯόʔ͕RailsʹٻΊΔ΋ͷ͸ͦΕͧΕҟ ͳΔ • ͋ͳ͕ͨRailsʹٻΊΔ΋ͷΛΘ͔ͬͯ΋Β͏ඞཁ͕͋Δ
  12. Pull requestΛϚʔδ͢Δͷ͸ • ࠷େ18ਓͷRailsίϛολʔ • ΞΫςΟϒͳίϛολʔ͸΋ͬͱগͳ͍ • 700Ҏ্ͷopen pull requests

    • ໿39 pull requests / ίϛολʔ • ͋ͳͨͷRailsΞϓϦέʔγϣϯͷϨϏϡʔମ੍ͱൺ΂ͯΈ ·͠ΐ͏
  13. ݴޠ • Ruby • ίʔυ • ӳޠ • ίϛοτϝοηʔδ •

    Pull requestͰͷ΍ΓͱΓ
  14. ࣌ࠩ • Rails ίϛολʔ͸ੈքதʹ͍Δ • ͋ͳͨͷ৸͍ͯΔؒʹpull request͕ϨϏϡʔ ͞ΕΔ͔΋͠Εͳ͍

  15. Railsʹpull requestΛૹΔ ࣌ɺͦͯ͠ૹͬͨޙʹͳʹΛ ͢Δ͔ɺ͠ͳ͍͔

  16. Pull requestΦʔϓϯ͢Δ࣌ʹ • Pull requestΛϚʔδ͢Δཧ༝Λઆ໌͍ͯ͠Δ͔ • ͋ͳͨͷ՝୊͔ͩΒཧ༝͸આ໌Ͱ͖Δ͸ͣ • Ͱ͖Δ͜ͱΛ΍ΔɺͰ͖Δ͜ͱ͸΍Δ •

    ʮ͍ͭͷ೔͔ૹΔʯ͸΍ͬͯ͜ͳ͍͔΋͠Εͳ͍ • ʮ͜͏ͩͬͨΒ͍͍ͷʹʯͱ͍͏ίϝϯτΛॻ͘ͳ Βɺগ͠Ͱ΋ͦͷʮ͜͏ʯΛίʔυʹ͢Δ
  17. Pull requestΛΦʔϓϯͨ͠ޙ • ͋ͤΒͳ͍Ͱ൓ԠΛ଴ͭ • Ϛʔδͯ͠΋Β͏ͨΊʹඞཁͳ৘ใΛॻ͖ ੾͍ͬͯΕ͹ɺޙ͸͢Δ͜ͱ͸ͳ͍͸ͣ

  18. ϨϏϡʔ΍࣭໰͕དྷͨΒ • Pull request಺Ͱίʔυ͔ӳޠͰճ౴͢Δ • ڵຯΛ࣋ͨΕ͍ͯΔؒʹճ౴͢Δ • ϨϏϡʔ΍࣭໰Λແࢹ͠ͳ͍

  19. ෳ਺ਓ͔Βίϝϯτ͕དྷͨΒ • ίϛολʔʹೲಘͯ͠΋Β͏͜ͱʹ஫ྗ͢Δ • Ϛʔδ͢Δݖݶͷͳ͍ਓΛઆಘͯ͠΋࢓ํ͕ ͳ͍ɺͱ͍͏ݱ࣮΋͋Δ • ௕͘ͳΕ͹ͳΔ΄Ͳऩर͕͚ͭʹ͍͘

  20. ϨϏϡʔ͕Θ͔Βͳ͔ͬͨΒ • Θ͔͍ͬͯΔ෦෼ΛαϚϦʔͯ͠ฦࣄ͢Δ • ஌Βͳ͔ͬͨ͜ͱʹରͯ͠Sorryͱ͍Θͳ͍ • ஌Βͳ͔ͬͨ͜ͱΛڭ͑ͯ͘Εͨ͜ͱʹײँ Λ͠ɺͦΕΛ;·͑ͨίʔυมߋΛ͢Δ

  21. ϨϏϡʔʹࢍ੒Ͱ͖ͳ͔ͬͨΒ • ࢍ੒Ͱ͖ͳ͍ཧ༝Λॻ͘ • ʮϨϏϡʔ͋Γ͕ͱ͏ɺͰ΋ࢲ͸͜Ε͕޷ ΈʯͰ΋Α͍ • ୯७ʹແࢹ͠ͳ͍

  22. ୭͔Β΋Կͷ൓Ԡ΋ͳ͔ͬͨΒ • ΈΜͳ͕࢖͏Ձ஋͕͋Δ΋ͷͩͱpull request ୯ಠͰઆ໌͍ͯ͠Δ͔ɺ΋͏͍ͪͲಡΜͰΈ ·͠ΐ͏ • ͋ͳͨͷϢʔεέʔε͸આ໌͞Ε͍ͯ·͔͢ • ڵຯΛҾ͘pull

    requestͰ͋Ε͹ɺԿ͔͠Βͷ ൓Ԡ͕͋Δ͸ͣ
  23. Pull requestͷϝϯςφϯε • ίϯϑϦΫτΛղফ͓ͯ͘͠ • CI͸greenʹ͓ͯ͘͠

  24. Pull request͕ෆཁʹͳͬͨΒ • Ϋϩʔζ͢Δ • ʮࢲ͸΋͏ཁΒͳ͍͚Ͳɺଞͷ୭͔͕ඞཁ͔ ΋͠Εͳ͍ʯͱ͍͏ͷ͸ߟ͑ͳͯ͘Α͍

  25. Pull requestΛΦʔϓϯͨ͠ޙ ʹ΍Βͳ͍͜ͱ • ping͠ͳ͍ / any updates? ͱ͔΋͍Θͳ͍ •

    ʮϚʔδ͢΂͖ཧ༝ʯΛҰͭ΋આ໌͍ͯ͠ͳ ͍͔Β
  26. Ϛʔδ͞ΕͣΫϩʔζ͞ΕͨΒ • Ϋϩʔζ͞Εͨissue΍pull requestʹίϝϯτ ͠ͳ͍ • ʮࣺͯ୆ࢺʯ͸͔͔ͳ͍

  27. Ϋϩʔζ͞Εͨpull requestΛ ࠶νϟϨϯδͨ͘͠ͳͬͨΒ • ͍ͬͨΜΫϩʔζ͞Εͨpull requestͱಉ͡୊ࡐ Λ෮׆ͤ͞Δͷ͸ࠔ೉Ͱ͋Δ • ͕࣌ؒܦͭͷΛ଴ͭ •

    ൣғΛখ͘͢͞ΔɺΞϓϩʔνΛม͑Δ • ൑அ͕มΘΔ͔΋͠Εͳ͍ɺલఏ͕มΘΔ͔΋ ͠Εͳ͍ɺϝϯςφʔ͕ସΘΔ͔΋͠Εͳ͍
  28. Pull request͕Ϛʔδ͞ΕͨΒ • https://contributors.rubyonrails.org • https://y-yagi.hatenablog.com • ࣍ͷRails͕ϦϦʔε͞ΕΔͷΛ଴ͪ·͠ΐ͏ • ͋ͳͨͷcommitͷੵΈॏͶͰɺ͋ͳͨ͸Rails

    ίϛϡχςΟʹ஌ΒΕ͍ͯ͘Α͏ʹͳΓ·͢
  29. OSSύονձ΁Ͳ͏ͧ ࣍ճ͸6݄6೔