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

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

このコミットは、Goプロジェクトへの貢献方法を説明するドキュメント doc/contribute.html に、コードレビュー拡張機能に関する新しいセクション「Understanding the extension」を追加するものです。これにより、Goプロジェクトに貢献しようとする開発者が、Mercurialのコードレビュー拡張機能のコマンドについてより深く理解できるようになります。

コミット

commit 6bf6cae28ee008a47cb23d6b80167cb6f45a8973
Author: Patrick Higgins <patrick.allen.higgins@gmail.com>
Date:   Wed Jun 5 21:09:43 2013 -0700

    doc/contribute: add "Understanding the extension" section
    
    Fixes #4996
    
    R=golang-dev, r, bradfitz
    CC=golang-dev
    https://golang.org/cl/7547043

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

https://github.com/golang/go/commit/6bf6cae28ee008a47cb23d6b80167cb6f45a8973

元コミット内容

doc/contribute: add "Understanding the extension" section

このコミットは、Goプロジェクトへの貢献に関するドキュメントに「拡張機能の理解」というセクションを追加します。

Fixes #4996

これは、Issue #4996を修正するものです。

R=golang-dev, r, bradfitz CC=golang-dev https://golang.org/cl/7547043

これらの行は、コードレビューの承認者(R=)とCC(カーボンコピー)リスト、およびGerritの変更リスト(CL)へのリンクを示しています。

変更の背景

この変更の背景には、Goプロジェクトへの貢献を試みる開発者が、Mercurialのコードレビュー拡張機能の利用方法について混乱していたという問題があります。コミットメッセージの Fixes #4996 から、この変更が特定の課題(Issue #4996)を解決するために行われたことがわかります。

当時のGoプロジェクトは、バージョン管理システムとしてMercurialを使用しており、コードレビューにはGerritと連携するMercurial拡張機能が用いられていました。しかし、この拡張機能のコマンドや使い方に関する説明が不足していたため、新規貢献者がスムーズに開発プロセスに参加できないという課題がありました。

このコミットは、doc/contribute.html に具体的なコマンド例(hg help codereviewhg help change)を提示することで、ユーザーが自身で拡張機能のドキュメントを参照し、その使い方を習得できるようにすることを目的としています。これにより、貢献プロセスの障壁を低減し、より多くの開発者がGoプロジェクトに貢献できるようになることが期待されました。

前提知識の解説

このコミットを理解するためには、以下の前提知識が必要です。

  • Goプロジェクトへの貢献プロセス: Goプロジェクトは、当時MercurialとGerritを組み合わせた独自の貢献ワークフローを採用していました。開発者は変更をMercurialリポジトリで行い、Gerritを通じてコードレビューを提出していました。
  • Mercurial (Hg): Gitと同様の分散型バージョン管理システムです。Goプロジェクトは初期にMercurialを使用していましたが、後にGitに移行しました。Mercurialには、拡張機能を通じて機能を追加する仕組みがあります。
  • Mercurial コードレビュー拡張機能: GoプロジェクトがGerritと連携するために使用していたMercurialの拡張機能です。これにより、MercurialのコマンドラインからGerritのコードレビュー操作(変更のアップロード、レビューコメントの確認など)を行うことができました。
  • hg help コマンド: Mercurialのヘルプシステムです。hg help <command> と入力することで、特定のMercurialコマンドに関する詳細なドキュメントを表示できます。
  • $GOROOT: Goのインストールディレクトリを指す環境変数です。Goプロジェクトのソースコードは通常このディレクトリに配置され、Mercurialのコードレビュー拡張機能もこの $GOROOT 内で有効化されていました。
  • Gerrit: オープンソースのコードレビューシステムです。GitやMercurialなどのバージョン管理システムと連携し、変更セットのレビュー、承認、マージを管理します。GoプロジェクトはGerritをコードレビューに利用していました。
  • Issue Tracker (例: GitHub Issues): ソフトウェア開発において、バグ報告、機能要望、タスクなどを追跡するためのシステムです。Fixes #4996 は、このコミットがIssue #4996を解決したことを示します。

技術的詳細

このコミットの技術的な詳細は、doc/contribute.html というHTMLドキュメントの変更に集約されます。

変更前は、コードレビュー拡張機能に関する説明が簡潔で、具体的なヘルプコマンドの利用方法が明示されていませんでした。

<p>
After adding the extension, <code>hg help codereview</code>
will show documentation for its commands. As the codereview extension is only
enabled for your checkout in <code>$GOROOT</code>, the remainder of this
document assumes you are inside <code>$GOROOT</code> when issuing commands.
</p>

変更後には、<h3>Understanding the extension</h3> という新しいセクションが追加され、以下の内容が盛り込まれました。

  1. hg help codereview の推奨: 拡張機能を追加した後、hg help codereview を実行することで、そのコマンドについて詳しく学ぶことができると明示しています。
  2. 具体的なコマンドのヘルプ参照: change のような特定のコードレビュー関連コマンドについて学ぶには、hg help change のように実行することを具体的に示しています。これは、ユーザーがより詳細な情報を得るための具体的な手順を提供します。
  3. $GOROOT 内でのコマンド実行の前提: コードレビュー拡張機能が $GOROOT 内でのみ有効であるため、残りのドキュメントでは $GOROOT 内でコマンドを発行することを前提としている、という注意書きは変更前後で維持されていますが、新しいセクションの文脈に合わせて再配置されています。

この変更は、単に情報を追加するだけでなく、ユーザーが自律的に必要な情報を引き出せるように、ヘルプコマンドの利用を促すという点で、ドキュメンテーションの質を向上させています。これは、ユーザーが直面する可能性のある問題を予測し、その解決策をドキュメント内で提供するという、優れたドキュメンテーションプラクティスの例と言えます。

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

--- a/doc/contribute.html
+++ b/doc/contribute.html
@@ -110,11 +110,25 @@ The <code>username</code> information will not be used unless
 you are a committer (see below), but Mercurial complains if it is missing.
 </p>
 
+<h3>Understanding the extension</h3>
+
+<p>After adding the code review extension, you can run</p>
+
+<pre>
+$ hg help codereview
+</pre>
+
+<p>to learn more about its commands. To learn about a specific code-review-specific
+command such as <code>change</code>, run</p>
+
+<pre>
+$ hg help change
+</pre>
+
 <p>
-After adding the extension, <code>hg help codereview</code>
-will show documentation for its commands. As the codereview extension is only
-enabled for your checkout in <code>$GOROOT</code>, the remainder of this
-document assumes you are inside <code>$GOROOT</code> when issuing commands.
+As the codereview extension is only 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>

コアとなるコードの解説

この変更は、doc/contribute.html ファイルのHTML構造に新しいセクションを追加し、既存のテキストを修正しています。

  1. <h3>Understanding the extension</h3> の追加: これは、新しいサブセクションのタイトルです。このセクションが、コードレビュー拡張機能の理解に焦点を当てていることを明確に示します。

  2. After adding the code review extension, you can run: 新しい段落の導入部で、拡張機能を追加した後の最初のステップとして、ヘルプコマンドの実行を促します。

  3. <pre>$ hg help codereview</pre>: pre タグは整形済みテキストを表示するために使用され、ユーザーがターミナルで実行すべきコマンドを明確に示しています。これにより、hg help codereview コマンドを実行することで、コードレビュー拡張機能に関する一般的な情報を得られることを示唆しています。

  4. to learn more about its commands. To learn about a specific code-review-specific command such as <code>change</code>, run: このテキストは、一般的なヘルプコマンドの後に、より具体的なコマンド(例: change)のヘルプを参照する方法を説明しています。これは、ユーザーが特定の機能について深く掘り下げたい場合に役立ちます。

  5. <pre>$ hg help change</pre>: ここでも pre タグが使用され、hg help change コマンドの具体的な例が示されています。これは、ユーザーが change コマンドの具体的な使い方やオプションについて知りたい場合に実行すべきコマンドです。

  6. 既存の段落の修正: 変更前の以下の段落は、新しいセクションの追加に伴い、内容が重複するため削除され、その意図が新しいセクションに統合されています。

    <p>
    After adding the extension, <code>hg help codereview</code>
    will show documentation for its commands. As the codereview extension is only
    enabled for your checkout in <code>$GOROOT</code>, the remainder of this
    document assumes you are inside <code>$GOROOT</code> when issuing commands.
    </p>
    

    この段落の後半部分「As the codereview extension is only enabled for your checkout in $GOROOT , the remainder of this document assumes you are inside $GOROOT when issuing commands.」は、新しいセクションの後に続く段落として再配置されています。これにより、情報の流れがより自然になり、重複が解消されています。

全体として、この変更は、Goプロジェクトへの貢献ドキュメントのユーザビリティを向上させ、特にMercurialのコードレビュー拡張機能に関する情報へのアクセスを容易にすることを目的としています。

関連リンク

  • Goプロジェクトの貢献ガイド (当時のもの): このコミットが変更を加えたドキュメントの当時のバージョンは、GoプロジェクトのMercurialリポジトリの履歴から確認できます。
  • Mercurial 公式ドキュメント: Mercurialのコマンドや拡張機能に関する一般的な情報は、Mercurialの公式ドキュメントで参照できます。
  • Gerrit コードレビューシステム: Gerritの機能や使い方に関する情報は、Gerritの公式ウェブサイトで参照できます。
  • Go Issue #4996: このコミットが修正した具体的なIssueの内容は、GoプロジェクトのIssueトラッカー(当時のGoogle Codeまたは後のGitHub Issues)で確認できます。

参考にした情報源リンク