マニュアル

TortoiseSVN の機能

TortoiseSVN はなぜこんなにも優れた Subversion クライアントなのでしょうか? その機能の概要をご紹介します。

シェル統合

TortoiseSVN は Windows シェル (つまり、エクスプローラー) にシームレスに統合されています。これにより、使い慣れたツールを使い続けることができます。そして、バージョン管理機能が必要になるたびに別のアプリケーションに切り替える必要はありません。

また、Windows エクスプローラーの使用に限定されません。TortoiseSVN のコンテキストメニューは、他の多くのファイルマネージャーや、ほとんどの標準的な Windows アプリケーションに共通の [ファイル/開く] ダイアログでも動作します。ただし、TortoiseSVN は意図的に Windows エクスプローラーの拡張機能として開発されていることに留意してください。したがって、他のアプリケーションでは統合が完全ではなく、たとえばアイコンオーバーレイが表示されない可能性があります。

アイコンオーバーレイ

バージョン管理されたすべてのファイルとフォルダーの状態は、小さなオーバーレイアイコンで示されます。これにより、ワーキングコピーの状態をすぐに確認できます。

グラフィカルユーザーインターフェース

ファイルまたはフォルダーの変更を一覧表示すると、リビジョンをクリックしてそのコミットのコメントを確認できます。変更されたファイルの一覧も表示でき、ファイルをダブルクリックするだけで、正確に何が変更されたかを確認できます。

コミットダイアログには、コミットに含まれるすべての項目がリスト表示され、各項目にはチェックボックスがあるため、含める項目を選択できます。バージョン管理されていないファイルもリスト表示できるため、新しいファイルを追加するのを忘れた場合にも対応できます。

Subversion コマンドへの簡単なアクセス

すべての Subversion コマンドは、エクスプローラーのコンテキストメニューから利用できます。TortoiseSVN はそこに独自のサブメニューを追加します。

TortoiseSVN は Subversion クライアントであるため、Subversion 自体の機能もいくつかご紹介したいと思います。

ディレクトリのバージョン管理

CVS は個々のファイルの履歴のみを追跡しますが、Subversion は時間の経過とともにディレクトリツリー全体の変更を追跡する 仮想 バージョン管理されたファイルシステムを実装しています。ファイル ディレクトリはバージョン管理されます。その結果、ファイルとディレクトリに対して動作するクライアント側の move および copy コマンドが実際に存在します。

アトミックコミット

コミットは、完全にリポジトリに格納されるか、まったく格納されないかのどちらかです。これにより、開発者は変更を論理的な塊として構築およびコミットできます。

バージョン管理されたメタデータ

各ファイルとディレクトリには、プロパティ の不可視のセットが添付されています。任意のキー/値ペアを作成して保存できます。プロパティは、ファイルの内容と同様に、時間の経過とともにバージョン管理されます。

ネットワーク層の選択

Subversion はリポジトリアクセスを抽象化した概念を持っているため、人々が新しいネットワークメカニズムを実装するのが容易になっています。Subversion の 高度な ネットワークサーバーは、Apache Web サーバー用のモジュールであり、WebDAV/DeltaV と呼ばれる HTTP の変種を話します。これにより、Subversion は安定性と相互運用性において大きな利点を得て、認証、承認、ワイヤー圧縮、リポジトリブラウジングなど、さまざまな主要機能が無料で提供されます。より小型のスタンドアロン Subversion サーバープロセスも利用可能です。このサーバーは、ssh 経由で簡単にトンネリングできるカスタムプロトコルを話します。

一貫性のあるデータ処理

Subversion は、テキスト (人間が読める) ファイルとバイナリ (人間が読めない) ファイルの両方で同一に機能するバイナリ差分アルゴリズムを使用して、ファイルの差分を表現します。両方のタイプのファイルはリポジトリに同等に圧縮されて格納され、差分はネットワークを介して双方向に送信されます。

効率的なブランチとタグ付け

ブランチとタグ付けのコストは、プロジェクトサイズに比例する必要はありません。Subversion は、ハードリンクに似たメカニズムを使用して、プロジェクトをコピーするだけでブランチとタグを作成します。したがって、これらの操作にかかる時間はごくわずかで一定であり、リポジトリ内のスペースもほとんど必要ありません。

TortoiseSVN ホームページ