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

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

このコミットは、Goプロジェクトのドキュメントdoc/contribute.htmlに、WindowsユーザーがMercurialのcodereview拡張機能を動作させるための追加手順を追記するものです。具体的には、Mercurialのlibrary.zipを更新して不足している依存関係を追加する方法について言及しています。

コミット

commit cea78cb58ec53a564830450a9665d18a198ba266
Author: Rick Arnold <rickarnoldjr@gmail.com>
Date:   Mon Mar 11 12:14:42 2013 +1100

    doc/contribute: add instructions to fix codereview on windows
    
    Tell Windows users how to update Mercurial's library.zip to add some missing dependencies.
    
    Fixes #4745.
    
    R=golang-dev, patrick.allen.higgins, minux.ma, adg
    CC=golang-dev
    https://golang.org/cl/7558043
---
 doc/contribute.html | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/doc/contribute.html b/doc/contribute.html
index 72c9364722..c659de6177 100644
--- a/doc/contribute.html
+++ b/doc/contribute.html
@@ -117,6 +117,13 @@ enabled for your checkout in <code>$GOROOT</code>, the remainder of this
 document assumes you are inside <code>$GOROOT</code> when issuing commands.
 </p>
 
+<p>
+Windows users may need to perform extra steps to get the code review 
+extension working. See the
+<a href="https://code.google.com/p/go-wiki/wiki/CodeReview">CodeReview page</a> 
+on the <a href="http://code.google.com/p/go-wiki/wiki">Go Wiki</a> for details.
+</p>
+\n <h3>Log in to the code review site.</h3>
+ 
 <p>

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

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

元コミット内容

このコミットは、Goプロジェクトの貢献者向けドキュメントであるdoc/contribute.htmlに、Windows環境でコードレビューツール(Mercurialの拡張機能)を使用する際に発生する可能性のある問題とその解決策に関する情報を追加するものです。具体的には、Mercurialのlibrary.zipファイルに不足している依存関係を追加する必要があることを示唆し、詳細についてはGo WikiのCodeReviewページを参照するよう促しています。

変更の背景

この変更の背景には、当時のGoプロジェクトにおけるコードレビュープロセスと、Windows環境での開発における特定の課題がありました。

  1. コードレビュープロセスの重要性: Goプロジェクトでは、変更がコミットされる前に厳格なコードレビュープロセスが採用されていました。これは、コード品質の維持、バグの早期発見、およびプロジェクト全体の整合性を保つために不可欠です。
  2. Mercurialとcodereviewツール: 当時、Goプロジェクトはバージョン管理システムとしてMercurialを使用していました。コードレビューは、Mercurialの拡張機能として提供されるcodereviewツールを通じて行われることが一般的でした。
  3. Windows環境特有の問題: Windows環境では、Mercurialのインストールや設定、特にPythonベースの依存関係の管理において、LinuxやmacOSとは異なる問題が発生することがありました。コミットメッセージにある「Mercurial's library.zip to add some missing dependencies」という記述は、Mercurialが内部的に使用するPythonライブラリのアーカイブファイル(library.zip)に、codereviewツールが正しく動作するために必要なモジュールが不足しているケースがあったことを示唆しています。
  4. ユーザーからのフィードバック(Fixes #4745): コミットメッセージの「Fixes #4745」は、この変更が特定の課題(Issue 4745)を解決するために行われたことを示しています。この課題は、Windowsユーザーがcodereviewツールをセットアップする際に直面した問題に関するものであったと推測されます。ドキュメントに解決策を追記することで、同様の問題に直面する将来の貢献者がスムーズにセットアップを進められるようにすることが目的でした。

前提知識の解説

このコミットを理解するためには、以下の技術的背景知識が必要です。

  1. Mercurial (Hg):

    • 分散型バージョン管理システム(DVCS)の一つで、Gitと同様にリポジトリ全体をローカルに複製して作業します。
    • Goプロジェクトは初期にMercurialを使用していましたが、後にGitに移行しました。
    • MercurialはPythonで書かれており、その機能の一部はPythonスクリプトやライブラリに依存しています。
    • library.zipは、Mercurialが内部的に使用するPythonライブラリをまとめたアーカイブファイルです。Windows環境では、特定のPythonモジュールがこのアーカイブに含まれていない場合、Mercurialの拡張機能が正しく動作しないことがあります。
  2. コードレビューツール (Mercurial codereview 拡張機能):

    • Goプロジェクトでは、変更を提案し、他の開発者からのレビューを受けるための専用ツールが使用されていました。
    • Mercurialを使用していた当時は、Mercurialの拡張機能として提供されるcodereviewツールがその役割を担っていました。このツールは、変更セットをレビューシステムにアップロードしたり、レビューコメントを適用したりする機能を提供します。
    • このツールはPythonで実装されており、Mercurialの環境内で動作します。
  3. Go Wiki:

    • Goプロジェクトに関する情報、ガイド、ベストプラクティスなどがコミュニティによって共有されるWikiサイトです。
    • このコミットで参照されているCodeReviewページは、Goプロジェクトへの貢献方法、特にコードレビュープロセスの詳細やツールのセットアップ方法について説明していたと考えられます。
  4. $GOROOT:

    • Goのインストールディレクトリを指す環境変数です。Goのソースコードや標準ライブラリ、ツールなどがこのディレクトリに配置されます。
    • Goプロジェクトへの貢献者は、通常$GOROOT内で作業を行います。

技術的詳細

このコミット自体はコードの機能変更ではなく、ドキュメントの更新です。技術的な詳細は、主にMercurialのcodereview拡張機能がWindows環境で直面していた問題と、その解決策の指針にあります。

  • 問題の特定: Windows環境でMercurialのcodereview拡張機能が動作しないという問題が発生していました。これは、Mercurialのインストールに含まれるlibrary.zipファイルに、codereview拡張機能が依存する特定のPythonモジュールが不足していることが原因であると推測されます。
  • library.zipの役割: MercurialはPythonで書かれており、その実行にはPythonインタープリタと多数のPythonモジュールが必要です。Windows環境では、これらのモジュールがlibrary.zipという単一のアーカイブファイルにまとめられていることが一般的です。これにより、Pythonの依存関係を個別にインストールする手間を省き、Mercurialの配布を簡素化しています。
  • 依存関係の不足: codereview拡張機能が、library.zipに含まれていない特定のPythonモジュールに依存していた場合、拡張機能は実行時に必要なモジュールを見つけられず、エラーを発生させます。
  • 解決策の指針: コミットは、この問題に対する直接的な解決策(例:library.zipを直接編集する方法)をドキュメントに記述するのではなく、Go WikiのCodeReviewページを参照するよう促しています。これは、library.zipの更新方法が環境やMercurialのバージョンによって異なる可能性があり、詳細な手順をドキュメントに直接記述するとメンテナンスが困難になるためと考えられます。Wikiページであれば、より柔軟に最新の情報を提供できます。
  • HTMLの変更: 変更は、既存のHTMLドキュメントに新しい段落(<p>タグ)を追加し、Go Wikiの関連ページへのリンクを埋め込む形で行われています。これは標準的なHTMLの記述方法です。

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

変更はdoc/contribute.htmlファイルのみです。

--- a/doc/contribute.html
+++ b/doc/contribute.html
@@ -117,6 +117,13 @@ enabled for your checkout in <code>$GOROOT</code>, the remainder of this
 document assumes you are inside <code>$GOROOT</code> when issuing commands.
 </p>
 
+<p>
+Windows users may need to perform extra steps to get the code review 
+extension working. See the
+<a href="https://code.google.com/p/go-wiki/wiki/CodeReview">CodeReview page</a> 
+on the <a href="http://code.google.com/p/go-wiki/wiki">Go Wiki</a> for details.
+</p>
+\n <h3>Log in to the code review site.</h3>
+ 
 <p>

具体的には、既存の段落の後に新しい段落が追加されています。

コアとなるコードの解説

追加されたHTMLスニペットは以下の通りです。

<p>
Windows users may need to perform extra steps to get the code review 
extension working. See the
<a href="https://code.google.com/p/go-wiki/wiki/CodeReview">CodeReview page</a> 
on the <a href="http://code.google.com/p/go-wiki/wiki">Go Wiki</a> for details.
</p>
  • <p>タグ: 新しい段落を定義しています。
  • テキスト内容: 「Windowsユーザーは、コードレビュー拡張機能を動作させるために追加の手順を実行する必要があるかもしれません。」と説明しています。
  • <a href="...">タグ: 2つのハイパーリンクが含まれています。
    • 最初のリンクは、https://code.google.com/p/go-wiki/wiki/CodeReviewへのリンクで、アンカーテキストは「CodeReview page」です。これは、コードレビューツールのセットアップに関する詳細な情報が記載されているGo Wikiの特定のページを指しています。
    • 2番目のリンクは、http://code.google.com/p/go-wiki/wikiへのリンクで、アンカーテキストは「Go Wiki」です。これはGo Wikiのトップページを指しています。

この変更は、Windowsユーザーがコードレビュー環境をセットアップする際の障壁を減らし、よりスムーズにGoプロジェクトに貢献できるようにするための、ユーザーエクスペリエンスの改善を目的としています。

関連リンク

  • Go Wiki (当時のURL): http://code.google.com/p/go-wiki/wiki
  • Go Wiki CodeReviewページ (当時のURL): https://code.google.com/p/go-wiki/wiki/CodeReview
    • : これらのURLは当時のものであり、GoプロジェクトがMercurialからGitへ、そしてGoogle CodeからGitHubへ移行したため、現在はアクセスできないか、内容が大きく変更されている可能性があります。現在のGoプロジェクトの貢献ガイドラインは、通常GitHubのリポジトリ内のCONTRIBUTINGファイルや公式ドキュメントで提供されています。

参考にした情報源リンク

  • コミット情報: /home/orange/Project/comemo/commit_data/15669.txt
  • GitHubコミットページ: https://github.com/golang/go/commit/cea78cb58ec53a564830450a9665d18a198ba266
  • Mercurial (当時のGoプロジェクトでの使用): https://www.mercurial-scm.org/
  • Goプロジェクトの歴史(MercurialからGitへの移行など)に関する一般的な知識。