作業コピーであるフォルダがあります。このフォルダからすべてのSVN機能を削除するにはどうすればよいですか?私がこれを行う理由はあります。どういうわけか、サイトのすべての作業コピーが含まれている私のマスターフォルダーは、どういうわけかそれ自体が作業コピーになっているため、それ自体に作業コピーがあります。
では、フォルダからバージョン管理を削除する簡単な方法はありますか?
その中のすべての「.svn」フォルダを削除するだけです。それでおしまい。
svn exportは、探しているコマンドです。管理されたファイルのセットを管理されていない場所にエクスポートして、それを使用できます。
* nixのようなツールを使用していた場合:
find . -type d -name .svn -print0 | xargs -0 rm -fr
TortoiseSVNを使用している場合は、作業コピーのルートフォルダー内を右クリックして[エクスポート...]をクリックするだけです。コミットされていない変更がある場合でも機能します。
同様に、リポジトリからエクスポートを実行するだけで、.svnフォルダーは作成されません。
別の簡単なアプローチは、前述のようにすべての.svnフォルダーを削除することです。
すべての.svnフォルダーを手動で削除するか(すべてのサブフォルダーについても同様に削除してください)、または Jon Gallawayのシェルコマンド のような単純なユーティリティを使用できます。
Windowsクライアント「TortoiseSVN」には「エクスポート」機能があります。エクスポートでは、「。svn」フォルダが含まれていない別のフォルダにコピーが作成されます。バージョン管理外のファイルを含めるオプションを使用して、リポジトリまたはローカルコピーからエクスポートできます。
これはどう:
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d ".svn"') do rd /s /q "%%i"
すべての.svnフォルダーを再帰的に削除するには-
(エクスポート機能がオプションではない場合、リポジトリにアクセスできないなど...)
TortoiseSVNには、Subversionバインディングなしでファイルをエクスポートする機能があります。リポジトリ(またはリポジトリ内のディレクトリ)を右クリックし、TortoiseSVNを選択して、エクスポートします。これを行う別の方法は、すべてのフォルダ内のすべての.svnディレクトリを削除することです。
以下は、Subversion作業コピーディレクトリからすべての.svnフォルダーを削除するWindowsバッチスクリプトです。
@echo off
rem cleanup .svn subdirs
setlocal enabledelayedexpansion
rem change to directory that this batch script resides in
if "%~1"=="" (
echo Usage: svncleanup svn_working_copy_dir
exit /b 1
)
echo cleaning up .svn subdirs in "%~1" ...
for /R "%~1" %%I in (.svn) do rmdir /Q /S "%%I" > NUL 2>&1
Windowsエクスプローラを使用して ".svn"(作業コピーの先頭から開始)を検索し、見つかったすべてのフォルダを選択して削除します。
TortoiseSVNでは、フォルダーを右クリックしてドラッグアンドドロップし、[SVN Export All to here]コマンドを選択できます。
亀と一緒にその場でエクスポート
上記の提案をすべて読んだとき、ソースファイルが3GBで、many.svnフォルダーが含まれているので、私はしのぎを削っていました。
Rクリックのコンテキストメニューから[エクスポート]を選択し、[コピーを置く場所]ダイアログが表示されたら、同じフォルダー自体を選択を選択します。 OK。 Violaのすべてのソース管理の残骸は(再帰的に)瞬時になくなります。
.svnサブフォルダーを削除できませんか?
私の知る限り、SVNはリポジトリへの接続に関するすべてをこのサブフォルダーに保存します(少なくともWindowsでは)
他の人が言ったように、.svnフォルダーを削除すると、SVN機能そのフォルダーからが削除されます。再帰的に実行すると、WC全体が「SVNから外されます」。これは本質的にエクスポートコマンドが行うことです。 Tortoise、CLI SVNバイナリ、またはその両方の機能かどうかはわかりませんが、その1つでは、WCから文字通り.svnフォルダーを削除するだけのインプレースエクスポートを実行できることを思い出します。通常のエクスポートでは、バージョン管理されていない新しい場所にWCのコピーが作成されます。