作業コピーのチェックアウト

リポジトリから作業コピーを取得するには、チェックアウト する必要があります。

Windows エクスプローラの作業コピーを作成したい場所でディレクトリを選択してください。右クリック してコンテキストメニューを表示し、TortoiseSVNチェックアウト... コマンドを選択してください。すると以下のダイアログが表示されます。

図4.7 チェックアウトダイアログ

チェックアウトダイアログ


存在しないフォルダ名を指定すると、その名前のディレクトリが作成されます。

チェックアウトの深度

チェックアウトの際、子フォルダを再帰する 深度 を選択できます。大きなツリーの一部が必要なだけなら、トップレベルフォルダのみをチェックアウトし、それから選択したフォルダを再帰的に更新します。

再帰的

子フォルダやそのサブフォルダを含む、ツリー全体をチェックアウトします。

直接の子階層 (フォルダを含む)

指定したディレクトリに対して、すべてのファイルや子フォルダを含めてチェックアウトしますが、子フォルダ内のファイルはチェックアウトしません。

子階層のファイルのみ

指定したディレクトリに対して、すべてのファイルをチェックアウトしますが、子フォルダはチェックアウトしません。

この項目のみ

ディレクトリのみチェックアウトします。その中のファイルや子フォルダはチェックアウトしません。

作業コピー

作業コピーに指定した深度を保持します。このオプションは、チェックアウトダイアログには使用しませんが、深さの設定を持つその他のダイアログでは、デフォルト設定となっています。

除外

フォルダをすでに取り込んでしまった後で、作業コピーの深さを小さくするために使用します。このオプションは、特定のリビジョンへ更新 ダイアログでしか使用できません。

わずかな作業コピーをチェックアウトする (チェックアウト深度を 再帰的 以外にする等) 場合、リポジトリブラウザ (「リポジトリブラウザ」) や変更をチェックダイアログ (「こちらの状態とあちらの状態」) を用いて、サブフォルダを追加で取得できます。

リポジトリブラウザでは、チェックアウトしたフォルダを 右クリック し、TortoiseSVNリポジトリブラウザ でリポジトリブラウザを表示してください。作業コピーに追加するサブフォルダを探し、項目を特定リビジョンへ更新... を使用してください。このメニューは、作業コピーに親項目が存在し、かつ選択した項目が存在しない場合にのみ表示します。

変更をチェックダイアログでは、まず、リポジトリをチェック ボタンをクリックしてください。リポジトリにあるが、チェックアウトされていないファイル・フォルダを、リモート操作による追加 として、すべてこのダイアログに表示します。作業コピーに追加したいフォルダを 右クリック し、コンテキストメニュー更新 としてください。

この機能は、大きなツリーの一部をチェックアウトする時だけでなく、ひとつの作業コピーを更新する際にも非常に便利です。Project01 から Project99 といったサブフォルダがある大きなツリーがあり、Project03, Project25, Project76/SubProj だけチェックアウトしようとしていると仮定しましょう。以下のような手順となります。

  1. 深度を この項目のみ として親フォルダを チェックアウトしてください。すると、空のトップレベルフォルダが手に入ります。

  2. リポジトリの内容を表示するため、新しいフォルダを選択し、TortoiseSVNリポジトリブラウザ を使用してください。

  3. Project03 を右クリックし、Context menu項目を特定リビジョンへ更新... を選択してください。デフォルトの設定のまま、OK をクリックしてください。これでそのフォルダをすべて取得します。

    Project25 に対して同じ手順を繰り返します。

  4. Project76/SubProj に移動し、同様に行ってください。このとき Project76 フォルダには、これだけですべて配置する SubProj 以外に何も内容がないことに注意してください。Subversion は、内容の取得をせずに、中間フォルダのみ作成しました。

作業コピーの深さの変更

一度、作業コピーを特定の深さでチェックアウトしている場合、コンテキストメニュー項目を特定リビジョンへ更新... を使用して後から深さを変更できます。

旧式サーバの利用

1.5 以前のサーバは、作業コピーの深度に対するリクエストを理解しないため、常にリクエストを効果的に処理できません。それでもコマンドは動作するでしょうが、旧式のサーバは、クライアントが必要でなくフィルタしたままにしているすべてのデータを送ってしまいます。そのため大量のネットワークトラフィックも発生してしまいます。可能であれば、サーバを 1.5 にアップグレードするべきです。

プロジェクトに外部参照プロジェクトへの参照が含まれていて、同時にチェックアウトしたくない場合、外部参照を除外する チェックボックスを使用してください。

重要

外部参照を除外する にチェックがついていたり、深度を増やしたい場合、作業コピーを更新するのに TortoiseSVN更新TortoiseSVN特定のリビジョンへ更新... を実行する必要があります。通常の更新では外部参照を全て取得し、既存の深度を保持てしまいます。

ディレクトリツリーの トランク (trunk) 部分か、それ以下をチェックアウトするのをお勧めします。URL でディレクトリツリーの親パスを指定すると、プロジェクトのあらゆるブランチとタグを取得してしまうのでハードディスクを使い切ってしまうかもしれません!

エクスポート

時には .svn ディレクトリを除いてコピーしたいかもしれません。ソースの圧縮した tarball を作成するときなどです。どのように行うかは、「Subversion 作業コピーをエクスポート」 をご覧ください。