Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 10763] ファイルの概要

このコミットは、Goプロジェクトへの貢献方法を説明するドキュメントファイル doc/contribute.html を変更しています。具体的には、コードレビューのレビュアー指定に関する指示が更新されています。

コミット

  • コミットハッシュ: b1175bebd0d2aef604825287b60798fce448a5c4
  • 作者: Florian Weimer fw@deneb.enyo.de
  • 日付: 2011年12月13日 火曜日 17:45:01 -0500

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/b1175bebd0d2aef604825287b60798fce448a5c4

元コミット内容

contribute.html: do not fill in the reviewer field

The golang-dev mailing list is added automatically.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5482060

変更の背景

この変更の背景には、Goプロジェクトへの貢献プロセスを簡素化し、より効率的にするという意図があります。以前は、貢献者が変更リスト(Change List, CL)を提出する際に、レビュアーフィールドに golang-dev@googlegroups.com メーリングリストを手動で指定する必要がありました。しかし、このコミットにより、システムが自動的に golang-dev メーリングリストをレビュアーとして追加するようになったため、手動での入力が不要になりました。これにより、貢献者はレビュアーフィールドを空のままにしておけばよくなり、手順の簡略化と入力ミスの削減が図られています。

前提知識の解説

このコミットを理解するためには、以下の概念について知っておく必要があります。

  • doc/contribute.html: これはGoプロジェクトの公式ドキュメントの一部であり、Goプロジェクトにコードを貢献するための詳細なガイドラインと手順が記載されています。貢献者はこのドキュメントを参照して、変更リストの作成、提出、コードレビューのプロセスを理解します。
  • コードレビュー (Code Review): ソフトウェア開発において、他の開発者が書いたコードをレビューし、品質、正確性、効率性、スタイル、セキュリティなどの観点からフィードバックを提供するプロセスです。Goプロジェクトでは、Gerritというコードレビューシステムが使用されており、変更リスト(CL)が提出されると、レビュアーによってレビューされます。
  • メーリングリスト (golang-dev@googlegroups.com): golang-dev はGo言語の開発者向け公式メーリングリストです。Go言語の設計、開発、バグ修正、新機能に関する議論が行われます。コードレビューの通知や議論もこのメーリングリストを通じて行われることがあります。
  • 変更リスト (Change List, CL): Gerritなどのコードレビューシステムにおける、一連のコード変更の単位です。Gitのコミットに似ていますが、レビュープロセスを通過するまで正式にリポジトリにマージされません。
  • R= および CC= フィールド: Gerritなどのコードレビューシステムで、変更リストの提出時に使用されるメタデータです。
    • R= (Reviewer): このフィールドには、コードレビューを依頼したいレビュアーのニックネームまたはメールアドレスを指定します。
    • CC= (Carbon Copy): このフィールドには、変更リストに関する通知を受け取りたい関係者のニックネームまたはメールアドレスを指定します。

技術的詳細

このコミットの技術的な詳細は、Goプロジェクトの貢献ワークフローにおけるコードレビューのレビュアー指定方法の変更に集約されます。

Goプロジェクトでは、GerritというWebベースのコードレビューシステムが利用されています。Gerritは、Gitリポジトリに対する変更を管理し、レビュープロセスを円滑に進めるためのツールです。貢献者がコード変更を提案する際、彼らは通常、git-cl upload のようなツールを使用して変更リスト(CL)をGerritにアップロードします。

以前のワークフローでは、貢献者はアップロード時にレビュアーを明示的に指定する必要がありました。特に、一般的な変更については golang-dev@googlegroups.com メーリングリストをレビュアーとして追加することが推奨されていました。これは、メーリングリストのメンバーが変更をレビューし、適切なレビュアーを割り当てるための初期ステップでした。

このコミットによって導入された変更は、この手動でのレビュアー指定ステップを不要にすることです。Gerritシステムまたは関連するツールが、変更リストがアップロードされた際に自動的に golang-dev メーリングリストをレビュアーとして追加するようになりました。これにより、貢献者はレビュアーフィールドを空のままにしておけば、自動的に適切なレビュープロセスに組み込まれることになります。

この変更は、ドキュメント doc/contribute.html の該当箇所を更新することで、新しいワークフローを反映させています。これにより、貢献者は最新かつ最も効率的な方法でコードを提出できるようになります。

コアとなるコードの変更箇所

変更は doc/contribute.html ファイルの以下の部分で行われています。

--- a/doc/contribute.html
+++ b/doc/contribute.html
@@ -210,10 +210,10 @@ to this change, and the <code>CC</code> line lists people to
 notify about the change.
 These can be code review nicknames or arbitrary email addresses.
 Unless explicitly told otherwise, such as in the discussion leading
-up to sending in the change list, set the
-reviewer field to the
+up to sending in the change list, leave the reviewer field blank.\n+This means that the
 <a href="http://groups.google.com/group/golang-dev">golang-dev@googlegroups.com</a>
-mailing list.
+mailing list will be used as the reviewer.
 </p>

具体的には、以下の行が削除され、新しい行が追加されています。

削除された行:

  • up to sending in the change list, set the
  • reviewer field to the
  • mailing list.

追加された行:

  • up to sending in the change list, leave the reviewer field blank.
  • This means that the
  • mailing list will be used as the reviewer.

コアとなるコードの解説

この変更は、Goプロジェクトへの貢献ガイドラインを更新するものです。

  • 変更前: ドキュメントは、貢献者が変更リストを送信する際に、レビュアーフィールドを golang-dev@googlegroups.com メーリングリストに「設定する」ように指示していました。これは、貢献者が手動でこのメーリングリストをレビュアーとして指定する必要があることを意味していました。
  • 変更後: ドキュメントは、貢献者が変更リストを送信する際に、レビュアーフィールドを「空のままにする」ように指示しています。そして、「これにより、golang-dev@googlegroups.com メーリングリストがレビュアーとして使用されることになります」と追記されています。

この変更は、Goのコードレビューシステム(Gerrit)が、変更リストのアップロード時に自動的に golang-dev メーリングリストをレビュアーとして追加するようになったことを反映しています。これにより、貢献者はレビュアーを手動で指定する手間が省け、よりスムーズに貢献プロセスを進めることができるようになりました。ドキュメントの更新は、この新しい自動化されたワークフローに合わせて、貢献者への指示を明確にするためのものです。

関連リンク

参考にした情報源リンク

この解説は、提供されたコミット情報と、Goプロジェクトの貢献プロセスおよびGerritに関する一般的な知識に基づいて作成されました。特定の外部情報源へのリンクはありません。