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

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

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

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


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

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

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

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

作業コピーからエクスポートする際、ターゲットフォルダーにエクスポートするフォルダーと同じ名前が存在する場合は、既存のフォルダーを上書きするか、自動的に名前を生成して新しいフォルダーを作成するか(Target (1)など)を選択できます。

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

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

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

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

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

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

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

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