Svn清理方法

题注:

 

部门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 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SVN(Subversion)版本控制系统中,如果清理(clean)操作后仍然无法更新,这可能是由以下几个原因造成的: 1. **未解决的冲突**:在多人协作中,如果其他人对同一文件进行了修改,你本地的副本可能会包含冲突标记。清理后,需要先解决这些冲突才能正常更新。 2. **过期的本地改动**:如果 SVN 检测到你的工作目录中有未提交的改动,清理可能不足以解决问题。你需要先提交或忽略这些改动再尝试更新。 3. **网络问题**:如果你的网络连接不稳定,可能会影响 SVN 的更新过程。确保网络畅通并尝试重新连接。 4. **权限问题**:检查你的账户是否有足够的权限去更新仓库中的文件。可能需要联系管理员确认权限设置。 5. **仓库问题**:如果服务器端出现问题,如 SVN 服务不可用,或者服务器版本与客户端不兼容,也可能导致无法更新。 6. **缓存问题**:清理操作可能没有清除 SVN 的缓存数据。可以尝试删除 `.svn` 目录下的 `tmp` 和 `locks` 文件夹,然后重新运行更新命令。 为了解决这个问题,你可以按照以下步骤操作: 1. **解决冲突**:使用 `svn resolved` 命令解决任何冲突。 2. **清理并更新**:运行 `svn cleanup`,然后 `svn update`。 3. **确认权限**:检查并确保有足够的权限执行更新。 4. **重启服务或检查网络**:确保服务器和网络环境正常。 5. **检查日志**:查看 SVN 日志(`svn log`)寻找是否有相关错误信息。 如果以上步骤无法解决问题,请提供更详细的错误信息,以便进一步诊断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值