首页 > 服务器 > 管理维护 > 正文

Svn清理方法

2020-10-03 17:57:30
字体:
来源:转载
供稿:网友

题注:

部门svn版本库自打使用就没清理过,随着 svn 版本库体积的逐步增大 ,每次备份所需的时间和介质数量都在增大,而且部门 svn 服务器空间有限。因此,有必要对 svn 服务器进行定期清理。今天把svn的文档认真的研究了一下,整理出svn版本库清理的方法,特放到网上,供有类似需求的同志们参考。

Svn 清理方法

经过研究分析,比较可行的 Svn 库的清理方法有两种:

1 、 dump 方法 ( 推荐 )

使用 svn 的 dump 命令,将整个 svn 库备份出来,再使用 svnfilter 命令进行剔除不需要保留的项目( exclude )操作或进行仅包含需要保留项目( include )操作形成新的 dump 文件,然后新建一个 svn 库,将新 dump 文件导入新库中,最后删除旧库,把新库更名为旧库的名字。

这种方法的优点是新库中项目的版本修订历史得以保留,比较方便回溯;缺点是操作起来比较费时。

操作命令:

使用 ssh 客户端登录到 svn 服务器:

1)  执行 svnadmin dump /path/to/repo >dumpfile ,备份 project 库;

2)  执行 svnadmin create newrepo ,创建新库 newrepo ;

3)  执行 svndumpfilter include proj1 … <dumpfile >proj1-dumpfile

4)  执行 svnadmin load newrepo < proj1-dumpfile

5)      删除旧库 project ,将新库更名为 project 。

 

2 、 export/import 方法

使用 export 命令,将 svn 库中需要保留的项目的最新版本导出,再新建一个 svn 库,导入上一步中导出的项目文件到新库中,最后删除旧库,把新库更名为旧库的名字。

这种方法的优点是操作简单,实施较快,缺点是导入到新库的项目不包含版本修订历史,无法回溯。

操作命令:

1)      在本地 pc 机( windows 系统)上,新建一个空目录(假定为 d:/svn );

2)      在此目录下单击鼠标右键,选择 tortoise svn 菜单中的 export 菜单项,导出需要保留的项目;

3)      使用 ssh 客户端登录到 svn 服务器,执行 svnadmin create project2 ,创建新库 project2 ;

4)      在此目录下单击鼠标右键,选择 tortoise svn 菜单中的 import 菜单项,导入本地目录下的项目到 project2 库中;

使用 ssh 客户端登录到 svn 服务器,删除旧库 project ,将新库更名为 project 。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表