[インデックス 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 codereview
や hg 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>
という新しいセクションが追加され、以下の内容が盛り込まれました。
hg help codereview
の推奨: 拡張機能を追加した後、hg help codereview
を実行することで、そのコマンドについて詳しく学ぶことができると明示しています。- 具体的なコマンドのヘルプ参照:
change
のような特定のコードレビュー関連コマンドについて学ぶには、hg help change
のように実行することを具体的に示しています。これは、ユーザーがより詳細な情報を得るための具体的な手順を提供します。 $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構造に新しいセクションを追加し、既存のテキストを修正しています。
-
<h3>Understanding the extension</h3>
の追加: これは、新しいサブセクションのタイトルです。このセクションが、コードレビュー拡張機能の理解に焦点を当てていることを明確に示します。 -
After adding the code review extension, you can run
: 新しい段落の導入部で、拡張機能を追加した後の最初のステップとして、ヘルプコマンドの実行を促します。 -
<pre>$ hg help codereview</pre>
:pre
タグは整形済みテキストを表示するために使用され、ユーザーがターミナルで実行すべきコマンドを明確に示しています。これにより、hg help codereview
コマンドを実行することで、コードレビュー拡張機能に関する一般的な情報を得られることを示唆しています。 -
to learn more about its commands. To learn about a specific code-review-specific command such as <code>change</code>, run
: このテキストは、一般的なヘルプコマンドの後に、より具体的なコマンド(例:change
)のヘルプを参照する方法を説明しています。これは、ユーザーが特定の機能について深く掘り下げたい場合に役立ちます。 -
<pre>$ hg help change</pre>
: ここでもpre
タグが使用され、hg help change
コマンドの具体的な例が示されています。これは、ユーザーがchange
コマンドの具体的な使い方やオプションについて知りたい場合に実行すべきコマンドです。 -
既存の段落の修正: 変更前の以下の段落は、新しいセクションの追加に伴い、内容が重複するため削除され、その意図が新しいセクションに統合されています。
<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)で確認できます。
参考にした情報源リンク
- コミットメッセージと差分情報:
commit_data/16504.txt
の内容 - GitHub上のコミットページ: https://github.com/golang/go/commit/6bf6cae28ee008a47cb23d6b80167cb6f45a8973
- Goプロジェクトの当時の貢献プロセスに関する一般的な知識
- MercurialおよびGerritに関する一般的な知識