BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GoがGitHubプルリクエストを通してパッチ可能に

GoがGitHubプルリクエストを通してパッチ可能に

原文(投稿日:2018/02/15)へのリンク

読者の皆様へ:お客様のご要望に応じて、重要なものを逃すことなく、ノイズを低減できる一連の機能を開発しました。興味のあるトピックを選択して、電子メールとWeb通知を入手してください

GoogleはGo開発用のGitHub PRから、Goの上流GitサーバであるGerritへのミラーリングを開始した。そのため、開発者がGo開発に貢献しやすくなった。

GerritはGo開発の主なコード管理ツールである。ただし、開発者がGoコードを簡単に利用できるようにするために、Gerritにマージされたすべての変更はGitHub GoLangリポジトリにミラーリングされる。Goチームは最近、GitHubのプルリクエストもミラーリングし始めており、これは、より一般的なワークフローでGo開発に貢献できるようにすることを目的としている。そう書くのは、Goを担当するGoogleエンジニアのAndrew Bonventre氏である。

これは、GerritBotによって可能になった。このボットは、GitHub PRをGerritにインポートし、GerritレビューへのリンクをGitHub PRへのコメントとして投稿する。Gerritに追加されたすべてのコメントはPRに同期されるので、元々のPR投稿者はGitHubから離れずに作業でき、同じPRブランチにコミットすることができる。

GerritはGit上に構築されたWebベースのコードレビューツールである。サイドバイサイドで変更を表示し、インラインコメントできるようにする軽量フレームワークを提供することで、コードレビューを簡単にすることを目指している。これはGitHubがPull Requests (PR)で提供するものと似ているが、根本的な違いがある。実際には、Gerritはコミット毎ベースにレビューを実行するのに対して、GitHub PRは2つのブランチの違いに基づいている。これは、GitHubやGerritでどのワークフローがより自然に動作するかどうかという観点で、暗に示している重要なことがある。具体的には、GitHitが単一コミットのレビューに焦点を当てるということは、変更は小さな自己完結的なコミットに分割する必要があるということを意味する。一方、GitHub PRに対しては、いくつかのコミットを含めるのが一般的である。

さらに、Gerritはコミットが上流にマージされる前に、連続するリビジョンをコミットが移動するモデルを発展させている。この目的は、以前のコミットを修正したり、複数のコミットを1つにするなどによって、変更履歴を慎重に作り上げることである。GitHub PRの一般的な使い方ではないかもしれないし、特にGitHub Web UIを使用している場合はそうかもしれないが、コマンドラインを使用してPRを操作することで、手動で同様の結果を得ることができる。

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT