Subversion 作業コピーをエクスポート

時には .svn ディレクトリを除いてコピーすることもあるかもしれません。圧縮したソースの tarball を作成するときや、web サーバにエクスポートするときなどです。コピーを作成し、.svn ディレクトリを全て手で削除するのではなく、TortoiseSVN では TortoiseSVNエクスポート... コマンドを用意しています。URL からのエクスポートと作業コピーからのエクスポートは多少異なります。

図4.48 URL からエクスポートダイアログ

URL からエクスポートダイアログ


バージョン管理外のフォルダでこのコマンドを実行すると、TortoiseSVN は選択したフォルダをターゲットと見なし、エクスポートする URL とリビジョンを入力するダイアログを開きます。このダイアログでは、最上位フォルダのみかどうか、外部参照を省略するかどうか、svn:eol-style 属性が設定されているファイルの行末を書き換えるかどうかといったオプションがあります。

またもちろん、リポジトリから直接エクスポートもできます。リポジトリブラウザを用いて、リポジトリ内の適切なサブディレクトリを探し、コンテキストメニューエクスポート としてください。前述の URL からエクスポート ダイアログを表示します。

作業コピーでこのコマンドを実行すると、.svn フォルダを含まない、まっさら な作業コピーを保存する場所を訊いてきます。デフォルトではバージョン管理下のファイルのみですが、バージョン管理外のファイルもエクスポートする チェックボックスを使用すると、リポジトリになく作業コピーにあるバージョン管理外のファイルも含めることができます。必要なら svn:externals を利用した外部参照を省略することもできます。

その他、作業コピーからエクスポートするには、作業コピーのフォルダを別の場所に 右ドラッグ し、コンテキストメニューSVN ここにエクスポートするコンテキストメニューSVN ここに全てをエクスポートする を選んでもできます。後者は、バージョン管理外のファイルもエクスポートします。

作業コピーからエクスポートする際に、エクスポートするフォルダと同じ名前が存在するフォルダを目的フォルダにすると、既存の内容を上書きするか、Target (1) のように、自動的に名前を生成して新しいフォルダを作成するかを選択してください。

単一ファイルのエクスポート

エクスポートダイアログは、Subversion ではできる 単一ファイルのエクスポートを、許可していません。

TortoiseSVN で単一ファイルをエクスポートするには、リポジトリブラウザ (「リポジトリブラウザ」) を使う必要があります。単純にエクスポートしたいファイルを、リポジトリブラウザからエクスプローラの目的の場所にドラッグするか、リポジトリブラウザのコンテキストメニューを使ってファイルをエクスポートします。

変更したツリーのエクスポート

プロジェクトツリー構造のコピーをエクスポートしたいのに、特定のリビジョンやふたつのリビジョン間にしかないファイルのみを含めたい場合、「フォルダの比較」 で説明する、リビジョン比較機構を使用してください。

作業コピーをバージョン管理外へ

時には作業コピーから .svn ディレクトリを削除し、通常のフォルダに戻したい場合もあることと思います。本当に必要としているのは、新しくまっさらなディレクトリツリーを生成するのではなく、コントロールディレクトリを削除するだけの、その場でエクスポートコマンドです。

答は驚くほど単純です。フォルダを自身にエクスポートしてください! TortoiseSVN はこの特殊なケースを検出し、作業コピーをバージョン管理下から外すかどうかを聞いてきます。はい と答えると、コントロールディレクトリを削除し、まっさらなバージョン管理されていないディレクトリになります。