リポジトリから作業コピーを取得するには、 チェックアウト する必要があります。
Windows エクスプローラーで、作業コピーを作成したい場所のディレクトリを選択してください。 右クリック してコンテキストメニューを表示し、 → コマンドを選択してください。すると次のダイアログが表示されます。
存在しないフォルダー名を指定すると、その名前のディレクトリが作成されます。
チェックアウトの際、 深さ を選択することで、子フォルダーを再帰処理する深さを選択できます。大きなツリーの一部だけをチェックアウトしたい場合は、まずツリーの一番上のフォルダーのみをチェックアウトし、それから選択されたフォルダーを再帰的に更新してください。
子フォルダーやそのサブフォルダーを含む、ツリー全体をチェックアウトします。
指定したディレクトリと、直下のすべてのファイルや子フォルダーをチェックアウトしますが、子フォルダー内のファイルはチェックアウトしません。
指定したディレクトリと、直下のすべてのファイルをチェックアウトしますが、子フォルダーはチェックアウトしません。
ディレクトリのみチェックアウトします。その中のファイルや子フォルダーはチェックアウトしません。
作業コピーに指定した深さを記憶します。このオプションは、チェックアウトダイアログでは使用されませんが、その他の深さの設定を持つダイアログでは、デフォルト設定となっています。
フォルダーをすでに取り込んでしまった後で、作業コピーの深さを小さくするために使用します。このオプションは、 特定リビジョンへ更新 ダイアログでしか使用できません。
手っ取り早く必要な項目だけをチェックアウトし、その項目だけを保持しておくのであれば、 ボタンをクリックしてください。新しいダイアログが開くので、作業コピーに入れたいすべての項目をチェックして、それ以外の項目のチェックを外してください。作業コピーは部分的なチェックアウトという状態になります。この作業コピーを更新した場合は、チェックアウトされたファイルだけが更新され、存在しないファイルは更新されません。
作業コピーを部分的にチェックアウトした場合(つまり、チェックアウトする深さに再帰的以外を指定した場合)、次のような方法で後から簡単にサブフォルダーを追加したり除外したりすることができます。
チェックアウトされたフォルダーを右クリックして、 → を選択し、を選択してください。最初にチェックアウトしたときと同様のダイアログが表示されるので、チェックアウトに含めたい項目を選択したり解除したりします。この方法はとても柔軟ですが、フォルダーの中の項目が個別に更新されているときは遅くなる可能性があります。
チェックアウトされたフォルダーで右クリックして、 → でリポジトリブラウザーを起動してください。作業コピーを追加しようとしているサブフォルダーを選択し、 → を実行してください。
「変更をチェック」ダイアログでは、まず、Shiftを押しながらボタンをクリックしてください。リポジトリに存在していてチェックアウトされていないファイルやフォルダーがすべて、リモート操作による追加としてダイアログに表示されます。作業コピーに追加したいフォルダーを右クリックし、 → を実行してください。
この機能は、大きなツリーの一部をチェックアウトする時だけでなく、ひとつの作業コピーを更新する際にも非常に便利です。 Project01 から Project99 といったサブフォルダーがある大きなツリーがあり、 Project03、Project25、Project76/SubProj だけをチェックアウトしようとしているとしましょう。以下のような手順となります。
親フォルダーを、深さを「この項目のみ」としてチェックアウトしてください。すると、空の最上位フォルダーができます。
リポジトリの内容を表示するため、このフォルダーを選択し、 → を実行してください。
Project03 を右クリックし、 → を選択してください。デフォルトの設定のまま、 をクリックしてください。これでそのフォルダーがすべて取得されます。
Project25 に対して同じ手順を繰り返します。
Project76/SubProj に移動し、同様に行ってください。このとき Project76 フォルダーには、 SubProj 以外の項目が取得されていないことに注意してください。内容を取得せずに、中間フォルダーのみが作成されたのです。
作業コピーをある深さでチェックアウトしたあと、 → を使用することで、後から深さを変更できます。そのダイアログで、 深さを記憶する のチェックボックスにチェックしてください。
1.5以前のサーバーでは、作業コピーの深さの指定機能がないため、常にリクエストを効率的に処理できません。コマンドは正しく動作しますが、旧式のサーバーは、クライアントに必要でないデータまでフィルターせずに送ってしまうため、大量のネットワーク通信が発生する可能性があります。可能であれば、サーバーを1.5以上にアップグレードしてください。
プロジェクトに外部参照プロジェクトへの参照が含まれていて、同時にチェックアウト したくない 場合、 外部参照を除外する チェックボックスを使用してください。
外部参照を除外する にチェックを付けたり、深さを増やしたりしたい場合は、作業コピーを更新するのに → ではなく、 → を実行してください。通常の更新では外部参照を全て取得し、現在の深さを保持してしまいます。
ディレクトリツリーのトランク(trunk)部分か、それ以下をのみをチェックアウトすることをお勧めします。URLでディレクトリツリーの親パスを指定すると、プロジェクトのあらゆるブランチとタグを取得してしまうので、ハードディスクを使い切ってしまうかもしれません。
.svn ディレクトリを除いてコピーしたい場合があるかもしれません。例えば、ソースを圧縮したアーカイブファイルを作成するときなどです。どのように行うかは、 「Subversion 作業コピーをエクスポート」 をご覧ください。