Manuals

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

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

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

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

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


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

重要

初期設定では、チェックアウトのメニュー項目はTortoiseSVNのサブメニューではなく、エクスプローラーのメニューの最上位にあります。サブメニューの外にあるTortoiseSVNのコマンドは、先頭がSVNで始まっており、SVN チェックアウト...となっています。

チェックアウトの深さ

チェックアウトの際、 深さ を選択することで、子フォルダーを再帰処理する深さを選択できます。大きなツリーの一部だけをチェックアウトしたい場合は、まずツリーの一番上のフォルダーのみをチェックアウトし、それから選択されたフォルダーを再帰的に更新してください。

再帰的

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

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

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

子階層のファイルのみ

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

この項目のみ

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

作業コピー

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

除外

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

手っ取り早く必要な項目だけをチェックアウトし、その項目だけを保持しておくのであれば、 項目を選択... ボタンをクリックしてください。新しいダイアログが開くので、作業コピーに入れたいすべての項目をチェックして、それ以外の項目のチェックを外してください。作業コピーは部分的なチェックアウトという状態になります。この作業コピーを更新した場合は、チェックアウトされたファイルだけが更新され、存在しないファイルは更新されません。

作業コピーを部分的にチェックアウトした場合(つまり、チェックアウトする深さに再帰的以外を指定した場合)、次のような方法で後から簡単にサブフォルダーを追加したり除外したりすることができます。

「特定リビジョンへ更新」を使用して部分的に更新

チェックアウトされたフォルダーを右クリックして、TortoiseSVN特定リビジョンへ更新...を選択し、項目を選択...を選択してください。最初にチェックアウトしたときと同様のダイアログが表示されるので、チェックアウトに含めたい項目を選択したり解除したりします。この方法はとても柔軟ですが、フォルダーの中の項目が個別に更新されているときは遅くなる可能性があります。

リポジトリブラウザーを使用して部分的に更新

チェックアウトされたフォルダーで右クリックして、TortoiseSVNリポジトリブラウザーでリポジトリブラウザーを起動してください。作業コピーを追加しようとしているサブフォルダーを選択し、 コンテキストメニュー特定リビジョンへ更新... を実行してください。

「変更をチェック」を使用して部分的に更新

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

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

  1. 親フォルダーを、深さをこの項目のみとしてチェックアウトしてください。すると、空の最上位フォルダーができます。

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

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

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

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

作業コピーの深さの変更

作業コピーをある深さでチェックアウトしたあと、 コンテキストメニュー項目を特定リビジョンへ更新... を使用することで、後から深さを変更できます。そのダイアログで、 深さを記憶する のチェックボックスにチェックしてください。

古いサーバーを使用する場合

1.5以前のサーバーでは、作業コピーの深さの指定機能がないため、常にリクエストを効率的に処理できません。コマンドは正しく動作しますが、旧式のサーバーは、クライアントに必要でないデータまでフィルターせずに送ってしまうため、大量のネットワーク通信が発生する可能性があります。可能であれば、サーバーを1.5以上にアップグレードしてください。

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

重要

外部参照を除外する にチェックを付けたり、深さを増やしたりしたい場合は、作業コピーを更新するのに TortoiseSVN更新 ではなく、 TortoiseSVN特定リビジョンへ更新... を実行してください。通常の更新では外部参照を全て取得し、現在の深さを保持してしまいます。

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

エクスポート

.svn ディレクトリを除いてコピーしたい場合があるかもしれません。例えば、ソースを圧縮したアーカイブファイルを作成するときなどです。どのように行うかは、 「Subversion 作業コピーをエクスポート」 をご覧ください。

TortoiseSVN homepage