初めてのOSSへのプルリクエスト(ドキュメント編)
初めてのOSSへのプルリクエスト(ドキュメント編)
今回プルリクを送ったリポジトリ
Djangoで作られたECサイトのプロジェクトです。 このサイトで実際に運用されています。http://getsaleor.com
なぜこのリポジトリを選んだか
単純に自分が結構参考にしていたリポジトリだったからです。 現状バイト等でも綺麗なコードを読む機会があまりなかったので、大きめのOSSのコードリーディングをやってみたいと思ったのが始まりです。
なぜプルリクを送ろうと思ったか
どうせならコードリーディングだけじゃなくてコントリビューションもやりたいと思い、何気なくcontribution guideを読んでいたところ、typoに気づきました。 typoに気づいたら、これはコントリビューションチャンス!ということでプルリクを送ろうと決めました。
プルリクを送ると決めてから調べたこと
コントリビューションガイド
READMEから見つけた。以下のことについて注意して読んだ。
- issueを立てるべきか
- issue文のテンプレはあるか?
- pull request文のテンプレはあるか?
- テストについて
読んだ感じだと、どうやら特にやれることはなさそうだった。(今回はドキュメントのfixなので特にテストする必要もなく、CIに任せることにした)
マージされた似たようなプルリクを調べる
Githubの左上の検索ボックスから、「Fix typo」と検索
以下のような似たようなプルリクが見つかった。
https://github.com/mirumee/saleor/pull/3100
forkする
今回、実は先にリポジトリをクローンしてpushしてみたが、pushがリジェクトされてしまった。 ブランチ名を見ると、tetsufe:fix-type のようにコロンで区切られていた。 forkすると、こんな感じで表示されるらしかった。 そういうわけでforkしてからプルリクを送ることにした。
forkからpull requestの送り方は以下を参考にした。
ブランチ名
マージされた似たようなプルリクを調べる https://github.com/mirumee/saleor/pull/3100
- タイトル
- issueを立てるべきかどうか
修正する
ドキュメントを修正します。今回はPotsgreSQLと書かれていたのをPostgreSQLに直しました。これだけです。笑
一応、プロジェクト全体を検索し、ここしかその間違いがないことも確認しました。
コミットメッセージ
コミットメッセージは特殊である必要はないらしかったので適当に"Fix typo in docs about search" としました。英弱ですね。
プルリクの作成
pull requestをリンクから作成するとテンプレが自動生成される。しかもfork元に自動的にプルリクが作成される楽々仕様でした
$ git push Enumerating objects: 9, done. Counting objects: 100% (9/9), done. Delta compression using up to 12 threads. Compressing objects: 100% (5/5), done. Writing objects: 100% (5/5), 436 bytes | 436.00 KiB/s, done. Total 5 (delta 4), reused 0 (delta 0) remote: Resolving deltas: 100% (4/4), completed with 4 local objects. remote: remote: Create a pull request for 'fix-typo' on GitHub by visiting: remote: https://github.com/TetsuFe/saleor/pull/new/fix-typo remote: To github.com:TetsuFe/saleor.git * [new branch] fix-typo -> fix-typo
この https://github.com/TetsuFe/saleor/pull/new/fix-typo リンクから行くと、勝手にプルリクのテンプレが入力された状態でフォームが出てきました。
プルリクのタイトル
コミットメッセージと同じでもOKらしかったので、そうしました。
プルリクの本文
I want to merge this change because... のプルリクのテンプレに従って、
I want to merge this change because potsgreSQL is wrong, postgreSQL is correct.
と書いた。意味はわかるはず。
完成!
プルリクを作成すると、CIが回り、そして終わります。この辺はさすが質の良いオープンソースプロジェクト感があります!
迷ったところ
pull requestのテンプレが見つからない(あとでわかったが、forkしてpushした時にコンソールに出てくるリンクからプルリクを作ろうとすると自動的にテンプレ文が入力された状態で始まる仕様らしかった。)
後日、マージされました!
メンテナの方からも感謝の言葉をいただき、割とテンション上がりました。笑
今度はコードでコントリビュートしたいですね!