论坛首页 入门技术论坛

svn版本信息的删除

浏览 7152 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-10  
问题:从公司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文件,双击确认导入注册表即可。

   发表时间:2009-02-10  
beyond Compare 3
或是
totalcmd
拷贝文件
0 请登录后投票
   发表时间:2009-02-11  
呵,不错。 windows 下的命令我以前找过没找到。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics