svn版本信息的删除 ------来源(http://chendang.javaeye.com/blog/326281)

来源:互联网 发布:js原型和原型链面试题 编辑:程序博客网 时间:2024/06/15 22:23

问题:从公司svn下,检出代码,包含svn信息,它是可以同步的包括很多的svn信息。但是我要这些代码只是看看,并在利用它在本地svn服务器上,且往往包含这些svn版本信息的文件占空间,拷贝速度慢。
解决:
1、在公司svn上再 导出一份
    导出和检出是不同的,导出不包含版本信息,检出则包含版本信息
2、因为代码比较多,有2G多,导出比较慢
   本地拷贝一份含svn版本信息的文件,想办法删除所有版本信息。
最简单的方法是,搜索所有.svn文件,然后删除。

查了哈网上的,有三个方法如下:
一、在linux下

删除这些目录是很简单的,命令如下
find . -type d -name ".svn"|xargs rm -rf

或者

find . -type d -iname ".svn" -exec rm -rf {} /;  

全部搞定。(http://tech.techweb.com.cn/redirect.php?fid=26&tid=205673&goto=nextnewset)

二、在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文件,双击确认导入注册表即可。

原创粉丝点击