マニュアル

ワーキングコピーのチェックアウト

ワーキングコピーを取得するには、リポジトリからチェックアウトを実行する必要があります。

ワーキングコピーを配置したいディレクトリをWindowsエクスプローラーで選択します。右クリックしてコンテキストメニューを表示し、TortoiseSVNチェックアウト...コマンドを選択すると、次のダイアログボックスが表示されます。

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

The Checkout dialog


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

重要

デフォルト設定では、チェックアウトメニュー項目はTortoiseSVNサブメニュー内ではなく、エクスプローラーのトップメニューに表示されます。サブメニューにないTortoiseSVNコマンドには、SVNが前に付いています: SVN チェックアウト...

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

重要

外部参照を無視がチェックされている場合、またはdepth値を大きくしたい場合は、TortoiseSVN特定リビジョンへアップデート...TortoiseSVNアップデートの代わりに使用して、ワーキングコピーをアップデートする必要があります。標準のアップデートは、すべての外部参照を含み、既存のdepthを維持します。

ディレクトリツリーのtrunk部分以下のみをチェックアウトすることをお勧めします。URLでディレクトリツリーの親パスを指定すると、プロジェクトのすべてのブランチとタグを含むリポジトリツリー全体のコピーを取得するため、ハードディスクがいっぱいになる可能性があります!

エクスポート

たとえば、ソースのzip圧縮tarballを作成するために、.svnディレクトリなしでローカルコピーを作成したい場合があります。「Subversionワーキングコピーのエクスポート」のセクションを読んで、その方法を確認してください。

チェックアウト Depth

チェックアウトしたいdepthを選択できます。これにより、子フォルダーへの再帰の深さを指定できます。大きなツリーのいくつかのセクションのみが必要な場合は、トップレベルフォルダーのみをチェックアウトし、選択したフォルダーを再帰的にアップデートできます。

完全再帰

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

直下の子 (フォルダーを含む)

指定されたディレクトリを、すべてのファイルと子フォルダーを含めてチェックアウトしますが、子フォルダーの内容は展開しません。

ファイルの子のみ

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

この項目のみ

ディレクトリのみをチェックアウトします。ファイルや子フォルダーで展開しません。

ワーキングコピー

ワーキングコピーで指定されたdepthを保持します。このオプションはチェックアウトダイアログでは使用されませんが、depth設定を持つ他のすべてのダイアログではデフォルトです。

除外

フォルダーがすでに展開された後に、ワーキングコピーのdepthを減らすために使用されます。このオプションは、特定リビジョンへアップデートダイアログでのみ使用できます。

チェックアウトに必要な項目のみを簡単に選択し、結果として得られるワーキングコピーにそれらの項目のみを保持させるには、項目を選択...ボタンをクリックします。これにより、新しいダイアログが開き、ワーキングコピーに必要なすべての項目をチェックし、不要なすべての項目のチェックを外すことができます。結果として得られるワーキングコピーは、sparse checkoutとして知られています。このようなワーキングコピーのアップデートは、不足しているファイルやフォルダーをフェッチせず、ワーキングコピーにすでに存在するものをアップデートするだけです。

sparseワーキングコピーをチェックアウトした場合(つまり、チェックアウトdepthに完全再帰以外のものを選択した場合)、次のいずれかの方法を使用して、後でサブフォルダーを簡単に追加または削除できます。

特定リビジョンへアップデートを使用したSparseアップデート

チェックアウトしたフォルダーを右クリックし、TortoiseSVN特定リビジョンへアップデートを選択し、項目を選択...をクリックします。これにより、最初のチェックアウトで使用可能だったのと同じダイアログが開き、チェックアウトに含める項目を選択または選択解除できます。この方法は非常に柔軟ですが、フォルダー内のすべての項目が個別にアップデートされるため、遅くなる可能性があります。

リポジトリブラウザを使用したSparseアップデート

チェックアウトしたフォルダーを右クリックし、TortoiseSVNリポジトリブラウザを使用してリポジトリブラウザを起動します。ワーキングコピーに追加したいサブフォルダーを見つけ、コンテキストメニュー特定リビジョンにアイテムをアップデート...を使用します。

変更の確認を使用したSparseアップデート

変更の確認ダイアログで、最初にShiftキーを押しながらリポジトリをチェックボタンをクリックします。ダイアログには、リポジトリに存在するが、リモートで追加としてチェックアウトしていないすべてのファイルとフォルダーが表示されます。ワーキングコピーに追加したいフォルダーを右クリックし、コンテキストメニューアップデートを使用します。

この機能は、大きなツリーの一部のみをチェックアウトしたいが、単一のワーキングコピーをアップデートする利便性を求めている場合に非常に役立ちます。たとえば、Project01からProject99までのサブフォルダーを持つ大きなツリーがあり、Project03Project25、およびProject76/SubProjのみをチェックアウトしたいとします。次の手順を使用してください

  1. depth この項目のみで親フォルダーをチェックアウトします。これで、空のトップレベルフォルダーができました。

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

  3. Project03を右クリックし、コンテキストメニュー特定リビジョンにアイテムをアップデート...。デフォルト設定を保持し、OKをクリックします。これで、そのフォルダーが完全に展開されました。

    Project25についても同じプロセスを繰り返します。

  4. Project76/SubProjに移動して、同じ操作を行います。今回は、Project76フォルダーにはSubProj以外のコンテンツがなく、SubProj自体は完全に展開されていることに注意してください。Subversionは、中間フォルダーを展開せずに作成しました。

ワーキングコピーのdepthの変更

ワーキングコピーを特定のdepthにチェックアウトした後、コンテキストメニュー特定リビジョンにアイテムをアップデート...を使用して、後でそのdepthを変更してコンテンツを増減できます。そのダイアログで、depthを固定チェックボックスを必ずチェックしてください。

古いサーバーの使用

1.5より前のサーバーは、ワーキングコピーのdepthリクエストを理解していないため、常に効率的にリクエストを処理できるとは限りません。コマンドは引き続き機能しますが、古いサーバーはすべてのデータを送信し、クライアントは不要なものをフィルタリングする必要があるため、多くのネットワークトラフィックが発生する可能性があります。可能であれば、サーバーを少なくとも1.5にアップグレードする必要があります。

オリジナルコピーを保存

ワーキングコピーにオリジナルコピーを保存チェックボックスは、デフォルトでチェックされています。このオプションを有効にすると、Subversionは各ファイルのBASEリビジョン(オリジナル)をワーキングコピー内にキャッシュします。これにより、差分やリバートなどの操作がオフラインで動作し、コミットはファイル全体ではなく、ファイルの変更された部分のみをリポジトリサーバーに送信できます。この設計は、リポジトリへのネットワーク接続がボトルネックになる可能性があり、ローカルストレージが安価であるという前提で、これらの操作の速度と可用性を最適化します。バージョン1.15より前では、これがSubversionの唯一の動作方法でした。

Subversion 1.15以降では、各ファイルのコピーをワーキングコピーに保存することを避けることができます。Subversionは、必要なときだけ("オンデマンド")オリジナルコピーをダウンロードします。これは、非常に大きなファイルを扱う場合や、めったに変更されないバイナリファイルが多数ある場合に役立ちます。

すべてのファイルのオリジナルコピーを保存しないようにするには、ワーキングコピーにオリジナルコピーを保存チェックボックスをオフにします。

重要

ワーキングコピーにオリジナルコピーを保存がオフになっている場合、結果として得られるワーキングコピーは、1.15より前のSubversionクライアントでは使用できません。

TortoiseSVN ホームページ