一、在linux下
删除这些目录是很简单的,命令如下
find .
-type d -name ".svn"|xargs rm -rf
或者
find . -type d
-iname ".svn" -exec rm -rf {}
\;
全部搞定。
二、在windows下用以下法子:
1、在项目平级的目录,执行dos命令:
xcopy
project_dir project_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!
代码为:
Windows Registry 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