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

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

このコミットは、Go言語の公式ドキュメントリポジトリ doc/talks ディレクトリに格納されていた講演資料(トークス)を削除し、それらを専用の go.talks サブリポジトリ (https://code.google.com/p/go.talks) へ移行したことを記録しています。これにより、Go言語の主要リポジトリの肥大化を防ぎ、講演資料の管理を一元化することが目的とされています。また、関連する doc/docs.html ファイル内のリンクも新しいURLに更新されています。

コミット

commit 439183eb0a57b815497d6d37f66fc99c4160c349
Author: Andrew Gerrand <adg@golang.org>
Date:   Fri Sep 21 14:38:22 2012 -0500

    doc/talks: remove talks, refer to talks.golang.org instead
    
    These talks have been moved to the go.talks sub-repository:
            https://code.google.com/p/go.talks
    
    R=rsc, r
    CC=gobot, golang-dev
    https://golang.org/cl/6529052

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

https://github.com/golang/go/commit/439183eb0a57b815497d6d37f66fc99c4160c349

元コミット内容

doc/talks: remove talks, refer to talks.golang.org instead

このコミットの目的は、doc/talks ディレクトリ内の講演資料を削除し、代わりに talks.golang.org を参照するようにすることです。これは、講演資料が go.talks サブリポジトリ (https://code.google.com/p/go.talks) に移動されたためです。

変更の背景

この変更の背景には、Go言語プロジェクトにおけるリポジトリ管理とコンテンツの整理戦略があります。初期のGo言語プロジェクトでは、講演資料やプレゼンテーションがメインのGoリポジトリ内の doc/talks ディレクトリに直接含まれていました。しかし、プロジェクトが成長し、講演資料の数が増えるにつれて、メインリポジトリのサイズが肥大化し、管理が複雑になるという問題が生じました。

この問題を解決するため、Goチームは講演資料を専用のサブリポジトリ go.talks に分離することを決定しました。これにより、以下の利点が期待されました。

  1. メインリポジトリの軽量化: 講演資料がメインリポジトリから削除されることで、クローンや更新の際のデータ量が削減され、開発者の負担が軽減されます。
  2. コンテンツの一元管理: 講演資料が go.talks サブリポジトリに集約されることで、それらの管理、更新、配布がより効率的に行えるようになります。
  3. 専門性の向上: 講演資料に特化したリポジトリとウェブサイト (talks.golang.org) を設けることで、ユーザーはGo言語に関する講演資料をより簡単に見つけ、アクセスできるようになります。

このコミットは、上記戦略の一環として、メインリポジトリから講演資料を物理的に削除し、既存のドキュメントから新しい参照先へのリンクを更新する作業を実施したものです。

前提知識の解説

  • Go言語のドキュメント構造: Go言語の公式ドキュメントは、golang.org を中心に提供されています。ソースコードリポジトリ内にも doc ディレクトリがあり、言語仕様、チュートリアル、ツールに関するドキュメントなどが含まれています。
  • サブリポジトリ (Sub-repository): Git(またはMercurialなど)におけるサブリポジトリは、メインリポジトリ内に別の独立したリポジトリを組み込む仕組みです。これにより、関連するが独立してバージョン管理されるべきプロジェクトを一つの親プロジェクトの下で管理できます。このケースでは、go.talks がGo言語のメインリポジトリのサブリポジトリとして扱われています。
  • golang.org/cl: これはGoプロジェクトにおける変更リスト(Change List)のURL形式です。Goプロジェクトでは、Gerritというコードレビューシステムが使われており、golang.org/cl/XXXXXXX の形式で特定の変更セット(コミット)のレビューページにアクセスできます。このコミットの https://golang.org/cl/6529052 は、この変更がGerrit上でレビューされた際のIDを示しています。
  • talks.golang.org: これはGo言語の公式講演資料サイトです。このサイトは go.talks サブリポジトリの内容をホストしており、Go言語に関する様々な講演やプレゼンテーションが公開されています。

技術的詳細

このコミットの技術的詳細は、主にファイルシステムの変更とHTMLドキュメント内のリンク更新に集約されます。

  1. ファイルの削除:

    • doc/talks/ ディレクトリ以下にあった多数の講演資料ファイル(PDF、HTML、Goソースコードなど)が削除されています。これには、過去のGo ConferenceやGoogle I/Oなどで発表された重要なプレゼンテーション資料が含まれていました。
    • 特に注目すべきは、slidy.cssslidy.js といったプレゼンテーション表示用のCSS/JavaScriptファイルも削除されている点です。これは、これらのファイルが go.talks サブリポジトリで引き続き管理されるか、あるいは talks.golang.org が別のプレゼンテーションフレームワークを使用していることを示唆しています。
    • バイナリファイル(PDFや画像)も多数削除されており、リポジトリのサイズ削減に大きく貢献しています。
  2. リンクの更新:

    • doc/docs.html ファイルが修正され、削除された講演資料へのローカルパス参照が、新しい talks.golang.org ドメインへの絶対URLに置き換えられています。
    • 具体的には、href="/doc/talks/io2011/Writing_Web_Apps_in_Go.pdf" のような相対パスが href="http://talks.golang.org/2011/Writing_Web_Apps_in_Go.pdf" のような絶対パスに変更されています。これは、ユーザーが古いドキュメントを参照した場合でも、正しい講演資料にアクセスできるようにするための重要な変更です。

この変更は、Go言語のドキュメントとリポジトリの構造をよりモジュール化し、保守性を高めるためのクリーンアップ作業の一環として行われました。これにより、メインリポジトリは言語のコア部分に集中し、講演資料のような派生コンテンツは専用の場所で管理されるという明確な分離が実現されています。

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

このコミットでは、主に以下のファイルが変更されています。

  • doc/docs.html: 講演資料へのリンクが更新されました。
  • doc/talks/ ディレクトリ以下の多数のファイル: 講演資料本体および関連ファイル(PDF, HTML, Goコード, CSS, JSなど)が削除されました。

具体的な変更は以下の通りです。

--- a/doc/docs.html
+++ b/doc/docs.html
@@ -164,7 +164,7 @@ A panel discussion with David Symonds, Robert Griesemer, Rob Pike, Ken Thompson,
 A talk by Rob Pike and Andrew Gerrand presented at Google I/O 2011.
 It walks through the construction and deployment of a simple web application
 and unveils the <a href="http://blog.golang.org/2011/05/go-and-google-app-engine.html">Go runtime for App Engine</a>.
-See the <a href="/doc/talks/io2011/Writing_Web_Apps_in_Go.pdf">presentation slides</a>.
+See the <a href="http://talks.golang.org/2011/Writing_Web_Apps_in_Go.pdf">presentation slides</a>.
 </p>
 
 <h3 id="go_programming"><a href="http://www.youtube.com/watch?v=jgVhBThJdXc">Go Programming</a><font color="red">*</font></h3>

そして、doc/talks/ 以下の多くのファイルが削除されています。例として、いくつかの削除されたファイルを示します。

  • doc/talks/go_talk-20091030.pdf (Binary file deleted)
  • doc/talks/go_talk-20100112.html (Deleted)
  • doc/talks/go_talk-20100121.html (Deleted)
  • doc/talks/go_talk-20100323.html (Deleted)
  • doc/talks/gofrontend-gcc-summit-2010.pdf (Binary file deleted)
  • doc/talks/io2010/balance.go (Deleted)
  • doc/talks/io2010/decrypt.go (Deleted)
  • doc/talks/io2010/encrypt.go (Deleted)
  • doc/talks/io2010/eval1.go (Deleted)
  • doc/talks/io2010/eval2.go (Deleted)
  • doc/talks/io2010/talk.pdf (Binary file deleted)
  • doc/talks/io2011/Real_World_Go.pdf (Binary file deleted)
  • doc/talks/io2011/Writing_Web_Apps_in_Go.pdf (Binary file deleted)
  • doc/talks/java-typing.png (Binary file deleted)
  • doc/talks/slidy.css (Deleted)
  • doc/talks/slidy.js (Deleted)

合計で17ファイルが変更され、1つの挿入と5100行の削除が行われています。これは、ほとんどの変更がファイルの削除によるものであることを示しています。

コアとなるコードの解説

このコミットのコアとなる変更は、doc/docs.html 内の単一のリンク修正と、doc/talks ディレクトリ全体の削除です。

doc/docs.html の変更は非常にシンプルで、Go言語の公式ドキュメントページからGoogle I/O 2011での「Writing Web Apps in Go」というプレゼンテーションへのリンクを更新しています。

  • 変更前: <a href="/doc/talks/io2011/Writing_Web_Apps_in_Go.pdf">presentation slides</a>
    • これは、Go言語のメインリポジトリ内の doc/talks ディレクトリにあるPDFファイルへの相対パスリンクでした。
  • 変更後: <a href="http://talks.golang.org/2011/Writing_Web_Apps_in_Go.pdf">presentation slides</a>
    • これは、talks.golang.org という専用の講演資料サイト上の同じPDFファイルへの絶対パスリンクです。

この変更は、ユーザーが古いドキュメントを参照した場合でも、講演資料にアクセスできるようにするための「リダイレクト」のような役割を果たします。

そして、このコミットの主要な部分は、doc/talks ディレクトリとその内容の削除です。これにより、メインのGoリポジトリから講演資料のコンテンツが物理的に取り除かれました。これは、前述の「変更の背景」で述べたように、リポジトリの軽量化とコンテンツの一元管理という目的を達成するための直接的な行動です。

これらの変更は、Goプロジェクトの長期的な保守性とスケーラビリティを向上させるための、戦略的なコンテンツ再編成の一環として行われました。

関連リンク

参考にした情報源リンク

  • コミットメッセージと差分情報 (./commit_data/13897.txt)
  • Go言語の公式ドキュメントおよび関連サイト (golang.org, talks.golang.org)
  • GitおよびMercurialにおけるサブリポジトリの概念に関する一般的な知識
  • Gerritコードレビューシステムに関する一般的な知識