[xorm] 初めてOSSにプルリク出してマスターマージされた話

2020-03-13

先輩エンジニアからOSSに参加して活躍しているのをみていて、
自分も参加してみたいなーと思っていたので、

今回、初めてOSSに参加してみました。
そんな大掛かりなものではなく、ちょっとしたバグ修正ですが無事マスターマージされて嬉しかったのでブログに書きます。

手探りで始める

今回プルリクを出すのはこちら

XORM – eXtra ORM for Go
https://xorm.io/

Go製のORMです。
Go向けのORMとしてはGORMと共に人気のあるORMです。
GORMのが人気あるみたいですが、個人的にはgormよりxormの方が可読性がよくて気に入ってます。

リポジトリはこちら
・xorm/xorm
https://gitea.com/xorm/xorm

githubからgiteaに移行されてます
こちらが旧リポジトリ
https://github.com/go-xorm/xorm

フォークする

ますプルリクをだしたいリポジトリからフォークします。
先にgiteaのアカウントは作っておいた方がスムーズです。

フォークしたリポジトリがこちら
https://gitea.com/kusana/xorm

修正点

exist関数

xormには目的のレコードが存在するか否かチェックする「exist関数」という関数が実装されています。今回はこのexist関数で挙動で直したいところがあったので修正してプルリクを作成します。

この関数、単独テーブルに対して使用した場合は期待通りに動いていたのですが、
Joinした時に期待する動きができていなかったので修正しました。

プルリクしてみる

修正してテストを書き動作確認して・・
https://gitea.com/xorm/xorm/commit/c3f05d347b7f75a7d9491a1ee4e697ba4f35b6be

プルリクを出す!
https://gitea.com/xorm/xorm/pulls/1520

課題(issues)を立てる

プルリク を出して二日ぐらい音沙汰がなかったので課題(issues)をたててアピールしてみた。
https://gitea.com/xorm/xorm/issues/1522#issue-29230

あとCIが謎のこけかたをしていたので、そのことも質問してみる。
https://gitea.com/xorm/xorm/issues/1522#issuecomment-107315

するとすぐにオーナーから反応があり、CIサーバーに個別で問題があるよう
https://gitea.com/xorm/xorm/issues/1522#issuecomment-107316

しばらしたら直してくれるみたい。
気長に待ってましょうか^^っとおもっていたら。。
その日のうちにオーナーが個別でレビュー、ローカルテストしてくれた!うれしー!

Master Marge

issueたててその日のうちにマージしてくれました
やったぜ、ついにきましたマスターマージ
https://gitea.com/xorm/xorm/pulls/1520

感想

はじめなにもルールとかわからず
いきなりプルリクだけだしても反応なしだったので、先にissuesを立てないといけないっぽい?OSSによってルールとかもあるようなので

一応READMは読んだのですが見落としていたかも。。
ともかくいきなりの横から出したプルリクをレビュー、マージしてくれてテンション上がりました。感謝!

Go製のパッケージ等はGoで書かれているので、
Go言語できる人だとすぐ読めるのが楽しい!

PHPとかだとCで書かれたパッケージなどがあったりでこう簡単には行かないですよね

読める、すぐ動かせる、いじれるの3拍子揃ってます