一、在linux下
删除这些目录是很简单的,命令如下
find . -type d -name".svn"|xargs rm -rf
或者
find . -type d -iname ".svn" -execrm -rf {} \;
全部搞定。
二、在windows下用以下法子:
1、在项目平级的目录,执行dos命令:
xcopy project_dirproject_dir_1 /s /i
2、或者在项目根目录执行以下dos命令
for /r . %%a in (.)do @if exist "%%a\.svn" rd /s /q "%%a\.svn"
其实第二种方法可以用来干很多事的,比如把代码中的.svn替换为任意其他文件名并在硬盘根目录下执行,就可以从硬盘上删除所有的这个文件啦。
3、加注册表
Jon Galloway提供了一段注册表代码,可以将”Delete SVN Folders”命名增加到资源管理器的右键上,这样,鼠标点两下就能把选中目录下的所有.svn目录干掉了。Works just great!
代码为:
WindowsRegistry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A&& FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\"\""
将这段代码保存为一个.reg文件,双击确认导入注册表即可。
4、bat方式
在SVN目录发生不可预知的错误需要重建或其他情况下需要把所有SVN信息清除时,可以用本站制作的维护小工具,把下面内容复制保存成扩展名为.bat文件的批处理文件,使用时直接将要清除SVN信息的文件夹拖动到新建的bat文件上面,即可出现操作界面,按Y执行清除所有子目录下SVN信息操作:
@echo off
if "%1"=="" (
goto error
) else (
goto action %1
)
:error
echo.
echo 必须输入要操作的文件夹路径参数,或拖动文件夹到此命令文件上。
echo.
pause
goto end
:action %1
echo --------------------------------------------------------------------------
echo 本次操作将删除 [%1] 文件夹下所有的svn标记,请慎重操作!
echo Y 清理文件夹
echo N 退出
echo---------------------------------------------------------------------------
choice /c YN /m 请选择菜单(按ctrl+c或N退出):
if %errorlevel% equ 2 goto end
echo 正在清理文件夹:%1
echo 请稍候...
for /r %1 %%a in (.) do @if exist "%%a\.svn" rd /s /q"%%a\.svn"
echo 清理完毕!
echo 按任意键退出...
pause>echo.
:end
exit
(来源:http://www.g58.net/knowledge/tips/delete-all-SVN-directory.shtml)