svn服务端总结

服务端目录结构及一些目录和文件的用途
conf:一些默认的配置文件
db:上传的东西就在这个目录,相当于数据库
revprops:提交写的message信息,可以查看这里
revs:存放数据的地方
current:是当前最新的版本号(十进制),持续递增的
txn-current:也是个序号会和current对应写入到revs下面的数据库(十六进制)
rep-cache:缓存,提交会自动生成
uuid:库的一串id
hooks:一些脚本文件

检查库
svnadmin verify 库路径
例:svnadmin verify -r 0:1000 D:\Repositories\CHAINWORK_Src
-r 0:1000指的是检测0到1000个版本,不指定从0到最新的版本。

导出库
svnadmin dump 库路径
例:svnadmin dump -r 0:1000 D:\Repositories\CHAINWORK_Src > D:\src.dmp
如果从1001开始备份需要加–incremental参数,表示增量导出,否则还是从0开始
svnadmin dump --incremental -r 1001:2000 D:\Repositories\CHAINWORK_Src > D:\src2000.dmp

导入库
svnadmin load D:\Repositories\CHAINWORK_Src < D:\src.dmp
svnadmin load D:\Repositories\CHAINWORK_Src < D:\src2000.dmp
按顺序导入即可
如果同版本的svn服务端,可以直接拷贝库的目录

修复版本
版本异常损坏,导致不能载还可能不能看log
1、最简单的办法就是找到损坏的目录或文件,直接删除,不过还是不能看损坏地方的log;
2、可以看到log的情况,将库恢复到损坏版本的前一个版本,然后将版本发生的改动用小乌龟重新提交上去,就会在服务端生成这个正常的版本;
3、看不到log的情况,进入revs目录,打开损坏版本,只要不是空白就能找到点线索,找到所做的改动,重新提交;
以上2和3的方法要拷贝个库作为修复使用,完成后将修复完成的版本拷贝到原库替换;

分离目录
比如下面这个库,从中分离出36.SINOPHARM_4PL_SDP这个目录单独做个库

先导出B2B-IIT整个库
svnadmin dump D:\Repositories\B2B-IIT > D:\b2b.dmp
将包含/01项目/36.SINOPHARM_4PL_SDP/的目录筛选出来(要写完整路径)
svndumpfilter --drop-empty-revs --renumber-revs
include /01项目/36.SINOPHARM_4PL_SDP/ <b2b.dmp> D:\sinopharm.dmp
参数
–drop-empty-revs踢出空版本
–renumber-revs重新连续排序
之后就可以创建一个空库将这个分离出来的进行导入
svnadmin create D:\Repositories\sinopharm 创建库
svnadmin load D:\Repositories\sinopharm < D:\sinoharm.dmp 导入
这样就把分离出来
如果是想剔除某个目录的话
svndumpfilter --drop-empty-revs --renumber-revs
exclude /01项目/36.SINOPHARM_4PL_SDP/ <b2b.dmp> D:\sinob2b.dmp
svnadmin create D:\Repositories\sinob2b
svnadmin load D:\Repositories\sinob2b < D:\sinob2b.dmp

总结下踩过的坑
1、Windows系统如果路径太长,查看文件夹属性是不显示了,比如有500个文件,可是有些路径不显示,看属性就只显示430个文件,其实这些文件是存在的;
2、svn一个目录下是支持大小写不一样的两个文件夹同时存在,如果用小乌龟载到本地,不能同时存在,强制合并为一个文件夹;
3、如果迁移库有分支,要保持版本号完全一致,不然会报错,文件不存在;
4、使用svnadmin verify 检测库的时候不能进行,直接报错,由于rep-cache缓存库有问题,删除或者改名就可以正常检测;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值