[ArduPilot] Pull Request が Merge されるまでの流れ

PR (Pull Request) を作ってからマージされるまでの流れを記載しようと思います。

丁度 PR を作成したので、レビューやマージされるまでの待ち時間にこの記事を書きます。

PR を作成すると、メンテナーの方々からレビュー待ちの状態になります。
ArduPilot では、Plane、Rover、Copter などの機体の種類や、EKF、GPSなどライブラリごとに担当が分かれています。

そのため、PR やコミットのタイトルにはどのライブラリを変更したのかが分かるように記載をします。
私の上記の PR では、「AP_InertialSensor: 」をタイトルの頭に付けています。そうすることで IMU のドライバーに関する修正ということが分かり、担当者が把握しやすくなります。

待っているとレビュワーからコメントが入ります。
また、レビューのステータスが「Changes requested」に設定されることもあり、その場合にはレビュー内容を読み、修正を実施します。
修正内容が良ければ「Approved」に設定されるでしょう。

レビューはメンテナーの担当外でも実施してくれますが、最終的にマージをするかどうかは変更箇所の担当者が判断します。
ですので、Approve をもらっていてもマージされないこともあります。
多くの場合は、修正箇所を指摘して、なるべく PR してくれたものはマージする流れがあるように思います。
文言の修正など、動作に影響を与えないものに関しては即マージということもありました。

複数のライブラリをまたがっているものや影響範囲が大きいものなどについては、毎週開催されている Developer Call に議題として取り上げて、メインのディベロッパーが直接話をしてマージするかどうかの判断を行う場合もあります。

その場合には、「DevCallTopic」というラベルが張られます。

画像1

DevCall は日本時間の毎週火曜日の朝8時~(大体10時頃まで)、Discord 上で行われます。ここで取り上げられれば、その場でレビューが行われ、承認が得られれば会議の中でマージされます。

いかがでしたでしょうか?
ArduPilot で PR した後、マージされるまでのプロセスを説明しました。

PR するまでの流れを知りたい!という方は、OSS、プルリクエスト、GitHub などのキーワードで調べてみてください。多くの方が手順を解説しています。

私は ArduPilot 中心に活動しているので、あまり他のプロジェクトと比較はできていません。ArduPilot 以外のプロジェクトではどのようにしているでしょうか?
そこで、Microsoft の Windows Server Documentation にも PR しました。

こちらは、PR をすると、自動的にラベルや担当者が割り振られて、メッセージが表示されるようになっていました。
ドキュメント類に関しては自動化が容易そうですね。
そして PR した日にマージという対応の早さでした。

冒頭で紹介した PR には、いくつかコメントを頂きました。修正依頼を頂いたので、修正したところ Approved になりました。
この後、スムーズにマージされるのか、まだまだ修正依頼が来るのか、待ちたいと思います。

この記事が気に入ったらサポートをしてみませんか?