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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに、Tobias Columbus氏のRietveldで使用されていたメールアドレスを追加するものです。具体的には、既存のTobias Columbus氏のエントリに、もう一つのメールアドレス(tobias.columbus@googlemail.com)が追記されています。

コミット

commit e2a83b47e7f604cd55adc747c2534270040e5624
Author: Shenghou Ma <minux.ma@gmail.com>
Date:   Tue Aug 28 03:57:27 2012 +0800

    C: add Tobias Columbus's email used in Rietveld
    
    R=golang-dev, tobias.columbus, bradfitz
    CC=golang-dev
    https://golang.org/cl/6483058

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

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

元コミット内容

C: add Tobias Columbus's email used in Rietveld

R=golang-dev, tobias.columbus, bradfitz
CC=golang-dev
https://golang.org/cl/6483058

変更の背景

この変更の背景には、Goプロジェクトの貢献者リストの正確性と、当時のコードレビューシステムであるRietveldとの連携が関係しています。

Goプロジェクトでは、貢献者の情報をCONTRIBUTORSファイルで管理しています。これは、プロジェクトに貢献した人々を適切に認識し、必要に応じて連絡を取るための重要なリストです。

コミットメッセージにある「Rietveldで使用されていたメールアドレス」という記述が鍵となります。Rietveldは、Googleが開発したWebベースのコードレビューツールであり、Goプロジェクトが初期に採用していた主要なコードレビュープラットフォームでした。Rietveldでは、ユーザーの識別や通知のためにメールアドレスが使用されます。

Tobias Columbus氏がGoプロジェクトに貢献する際に、Rietveld上で異なるメールアドレス(tobias.columbus@googlemail.com)を使用していた可能性があります。このコミットは、そのRietveldでの活動とCONTRIBUTORSファイル内の情報との整合性を保つために行われたと考えられます。これにより、彼の貢献が正しく追跡され、将来的な連絡やクレジット付与の際に混乱が生じないようにすることが目的です。

前提知識の解説

Rietveld (リエトフェルト)

Rietveldは、GoogleのソフトウェアエンジニアであるGuido van Rossum(Pythonの生みの親)によって開発された、Webベースのコードレビューシステムです。PerforceのMundaneumをベースにしており、Google内部で広く使用されていました。Goプロジェクトも初期にはRietveldをコードレビューの主要なツールとして採用していました。

Rietveldの主な機能は以下の通りです。

  • 差分表示: 提出されたコードの変更点(差分)を視覚的に表示します。
  • コメント機能: コードの特定の行やブロックに対してコメントを付け、議論を行うことができます。
  • レビューフロー: コードの提出、レビュー、承認、コミットという一連のワークフローをサポートします。
  • メール通知: レビューの更新やコメントがあった際に、関係者にメールで通知します。

このシステムでは、ユーザーはメールアドレスによって識別され、レビューの割り当てや通知の送信にそのメールアドレスが利用されます。

GoプロジェクトのCONTRIBUTORSファイル

CONTRIBUTORSファイルは、Goプロジェクトにコード、ドキュメント、その他の形で貢献したすべての個人の名前とメールアドレスをリストアップしたテキストファイルです。このファイルは、プロジェクトの歴史と貢献者を記録する重要な役割を担っています。

このファイルに名前が記載されることは、その人物がプロジェクトに公式に貢献したことの証となります。また、プロジェクトのライセンスや著作権表示にも関連する場合があります。

Goプロジェクトの貢献プロセス

Goプロジェクトへの貢献は、通常、以下のステップで行われます。

  1. 変更の作成: コードやドキュメントの変更を行います。
  2. コードレビューの依頼: 変更をRietveld(または後にGerrit)にアップロードし、レビューを依頼します。この際、貢献者のメールアドレスがレビューシステムに登録されます。
  3. レビューと修正: 他の開発者からのフィードバックを受け、必要に応じて変更を修正します。
  4. 承認とコミット: 変更が承認されると、プロジェクトのメインリポジトリにコミットされます。

このプロセスにおいて、貢献者のメールアドレスは、レビューシステムでの識別、通知、そして最終的な貢献者リストへの追加のために重要な情報となります。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるCONTRIBUTORSというテキストファイルに対する変更です。このファイルは、プロジェクトに貢献した人々の名前とメールアドレスを一覧で保持しています。

変更内容は非常にシンプルで、Tobias Columbus氏のエントリに新しいメールアドレスを追加するものです。

変更前:

Tobias Columbus <tobias.columbus@gmail.com>

変更後:

Tobias Columbus <tobias.columbus@gmail.com> <tobias.columbus@googlemail.com>

これは、既存のメールアドレス(tobias.columbus@gmail.com)を削除するのではなく、その隣に新しいメールアドレス(tobias.columbus@googlemail.com)を追記する形で行われています。これにより、Tobias Columbus氏が使用していた両方のメールアドレスがCONTRIBUTORSファイルに記録されることになります。

この変更は、ファイルの構造やフォーマットに大きな影響を与えるものではなく、単に情報が追加されただけです。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 1c9d736828..0102768d2c 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -308,7 +308,7 @@ Tarmigan Casebolt <tarmigan@gmail.com>
 Taru Karttunen <taruti@taruti.net>
 Thomas Alan Copeland <talan.copeland@gmail.com>
 Timo Savola <timo.savola@gmail.com>
-Tobias Columbus <tobias.columbus@gmail.com>
+Tobias Columbus <tobias.columbus@gmail.com> <tobias.columbus@googlemail.com>
 Tom Szymanski <tgs@google.com>
 Tor Andersson <tor.andersson@gmail.com>
 Trevor Strohman <trevor.strohman@google.com>

コアとなるコードの解説

上記の差分は、CONTRIBUTORSファイル内の特定の行がどのように変更されたかを示しています。

  • -Tobias Columbus <tobias.columbus@gmail.com>: これは変更前の行を示しており、Tobias Columbus氏の既存のメールアドレスが記載されています。
  • +Tobias Columbus <tobias.columbus@gmail.com> <tobias.columbus@googlemail.com>: これは変更後の行を示しており、既存のメールアドレスの後に、Rietveldで使用されていたとされる新しいメールアドレス(tobias.columbus@googlemail.com)が追加されています。

この変更は、CONTRIBUTORSファイルが単一のメールアドレスだけでなく、複数のメールアドレスを関連付けることを許容する形式であることを示唆しています。これは、貢献者が異なるメールアドレスで活動する可能性がある場合に、そのすべての情報を一元的に管理するための柔軟なアプローチと言えます。

関連リンク

参考にした情報源リンク

  • Rietveld (Wikipedia): https://en.wikipedia.org/wiki/Rietveld
  • Go Contribution Guidelines (当時の情報に基づく一般的な理解)
  • GoプロジェクトのGitHubリポジトリ内のCONTRIBUTORSファイルの内容
  • Google検索: "Rietveld code review Go", "Go CONTRIBUTORS file purpose"