ワーキングコピーを非バージョン管理化
多くの方々から、メーリングリストで「ワーキングコピーを非バージョン管理化するには」、「ワーキングコピーをリポジトリから切り離す/リンク解除するには」、「ファイルをバージョン管理から削除するには」といった質問が寄せられました。これらの質問はすべて、ユーザーがすべての Subversion ワーキングコピー内にある隠しフォルダ .svn を削除したいという要望につながっています。
通常、zip圧縮やアーカイブなどのために、バージョン管理されたファイルの「クリーンコピー」が必要になります。
Subversion でそれを行うためのコマンドは「エクスポート」です。ワーキングコピーまたはリポジトリ URL をエクスポートすると、すべてのファイルのコピーが作成されますが、.svn フォルダは含まれません。しかし、エクスポートコマンドはコピーを作成するだけで、既存のワーキングコピーから .svn フォルダを削除するわけではありません。それがほとんどのユーザーが望んでいることです。
しかし、一部のユーザーは本当にワーキングコピーを非バージョン管理化したいだけなのです。ウェブを検索すると、パスを再帰的にスキャンして .svn フォルダをすべて削除するスクリプトを投稿しているユーザーをたくさん見つけることができます。しかし、TortoiseSVN がインストールされていれば、それは必要ありません。
TortoiseSVN には、まさにそれを行うことができる、あまり知られていない機能が組み込まれています。それは、すべての .svn フォルダを自動的に削除することです。では、その機能はどこにあるのでしょうか?
「エクスポート」コマンドを使用してください! でも、ちょっと待ってください。エクスポートコマンドはワーキングコピー内のファイルのコピーを作成するだけで、元のワーキングコピーを変更しないと先ほど言ったばかりではありませんか? では、どうしてエクスポートコマンドが既存のワーキングコピーから .svn フォルダを削除できるのでしょうか?
簡単です。ワーキングコピーを右クリックしてコンテキストメニューから「エクスポート...」を選択すると、ワーキングコピーのエクスポート先フォルダを選択できるフォルダ参照ダイアログが表示されます。ここで、ワーキングコピーがあるのと同じパスをターゲットとして選択すると(つまり、ワーキングコピー自体にエクスポートする場合)、TortoiseSVN はそのワーキングコピーのすべての .svn フォルダを削除します。
別の方法としては、ワーキングコピーをそれ自体に右ドラッグすることです。ただし、エクスプローラーでは同じウィンドウ内で項目をそれ自体にドラッグすることはできません。そのため、2 つ目のエクスプローラーウィンドウを使用するか、下の動画に示すようにツリービューにドラッグする必要があります。