Linux移除 目录下所有.svn版本控制

一、在linux下
 删除.svn文件夹, 移除.svn版本控制,命令如下

进入改文件夹mnt  移除mnt文件夹下所有的.svn版本控制
cd mnt
[root@root] find . -type d -name ".svn"|xargs rm -rf;
或者
[root@root] find . -type d -iname ".svn" -exec rm -rf {} \;  

重新生成版本控制
svn checkout svn://192.168.1.1 ./ --username=lin --password=123456
将当前目录下的项目添加到SVN
svn add cmfx  #添加mnt目录下的cmfx项目
svn commit -m -R "cmfx"  #提交

二、在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、添加注册表
  可以将“快速删除SVN版本信息”命名增加到资源管理器的右键上,这样,鼠标点两下就能把选中目录下的所有.svn目录干掉了。
代码为:

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] 
@="快速删除SVN版本信息" 
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command] 
@="cmd.exe /c D:\工\批处理文件删除SVN版本信息.bat" 

将这段代码保存为一个.reg文件,双击确认导入注册表中不完整,后来自己手工添加。注意:文件“批处理文件删除SVN版本信息.bat”不能放 在有空格的文件夹下,确认删除时请看一下当前目录不要删除不该删的目录下的SVN版本信息。不知道怎么改进“cmd.exe /c D:\工具\批处理文件删除SVN版本信息.bat”。

批处理文件删除SVN版本信息.bat文件内容如下:

复制代码代码如下:

@echo off 
echo *********************************************************** 
echo 清除SVN版本信 息 
echo *********************************************************** 
:start 
::启动过程,切换目录 
:set pwd=%cd% 
:cd %1 
echo 工作目录是:chr(38) chdir 
:input 
::获取输入,根据输入进行处理 
set source=: 
set /p source=确定要清楚当前目录下的.svn信息吗?[Y/N/Q] 
set "source=%source:"=%" 
if "%source%"=="y" goto clean 
if "%source%"=="Y" goto clean 
if "%source%"=="n" goto noclean 
if "%source%"=="N" goto noclean 
if "%source%"=="q" goto end 
if "%source%"=="Q" goto end 
goto input 
:clean 
::主处理过程,执行清理工作 
@echo on 
@for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c chr(38) echo 删除目录%%c) 
@echo off 
echo "当前目录下的svn信息已清除" 
goto end 
:noclean 
::分支过程,取消清理工作 
echo "svn信息清楚操作已取消" 
goto end 
:end 
::退出程序 
cd "%pwd%" 
pause 

注:最后一种方法,如果出现错误,就打开注册表,找到对应的项,吧“cmd.exe /c D:\工具\批处理文件删除SVN版本信息.bat “直接写入注册表中即可使用

最后一种方法:

报文件没有关联错误,找到这个注册表项:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
写入(注意路径 ):

“cmd.exe /c D:\工具\批处理文件删除SVN版本信息.bat ”
还有一个要注意的:在使用的时候,不要在要清除的文件夹上右击,在要清除的文件夹里面的子文件夹上右击–》快速删除svn版本信息

今天看了Jon Galloway的一个注册表脚本,十分方便,分享如下:

建立一个文本文件,取名为kill-svn-folders.reg(扩展名由txt改为reg),内容如下:

复制代码代码如下:

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 chr(38)chr(38) COLOR 9A chr(38)chr(38) FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \"" 

保存之后,双击这个reg文件。
成功后,在每一个文件夹上点击右键都会有一个“Delete SVN Folders”的选项,点击之后,既可以删除这个文件下下面所有的.svn文件了!!

原文来自:http://www.cnblogs.com/lr-ting/archive/2012/09/03/2666271.html

注意 * :只试过linux 第一种, 其他没有试过

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值