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