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

.svn ディレクトリのない、作業ツリーのまっさらなコピーが欲しい場合があります。ソースの圧縮アーカイブを作成するときや、WEBサーバーにエクスポートするときなどです。コピーを作成してから.svn ディレクトリを手作業で削除する代わりに、TortoiseSVNではTortoiseSVNエクスポート... コマンドを用意しています。URLからのエクスポートと作業コピーからのエクスポートは多少異なります。

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

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


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

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

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

他にも、作業コピーのフォルダーを別の場所に右ドラッグし、コンテキストメニューSVN バージョン管理下の項目をここにエクスポートコンテキストメニューSVN すべての項目をここにエクスポートコンテキストメニューSVN 変更された項目をここにエクスポートを選んでも、作業コピーからエクスポートすることができます。2番目はバージョン管理されていないファイルも含みます。3番目はフォルダ構造の中で、変更された項目のみをエクスポートします。

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

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

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

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

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

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

作業コピーのツリー構造の中で、ローカルで変更されたファイルのみをエクスポートしたい場合は、前述のSVN 変更された項目をここにエクスポートを参照してください。

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

作業コピーを.svnディレクトリがない通常のフォルダーにしたい場合は、作業コピーのルートにある.svnディレクトリを削除するだけです。

それ以外にも、作業コピーのフォルダー自身にエクスポートする方法もあります。Windowsエクスプローラーで、ファイルペインにある作業コピーのルートフォルダーを、フォルダーペインの同じフォルダーに右ドラッグしてください。TortoiseSVNはこの特殊なケースを検出し、作業コピーをバージョン管理下から外すかどうかを聞いてきます。はい と答えると、コントロールディレクトリを削除し、まっさらなバージョン管理されていないディレクトリになります。