SVN的版本精简

随着项目的开发,项目的版本会非常多,我们可以对SVN的版本进行精简。
为了演示,我的虚拟机SVN版本比较小,最大版本号为7,我只精简成保留4-7版本,前面的三个版本丢弃掉。

[root@localhost hello]# svn info 
路径: .
工作副本根目录: /root/svn/hello
URL: svn://192.168.8.194/hello
版本库根: svn://192.168.8.194/hello
版本库 UUID: 8fe3937b-a4af-401c-9ecf-fc89928b4ebe
版本: 7
节点种类: 目录
调度: 正常
最后修改的作者: harry
最后修改的版本: 7
最后修改的时间: 2019-04-24 09:00:12 +0800 (三, 2019-04-24)

原理:
先停止svn服务,以防其他人进行提交

[root@localhost hello]# killall svnserve

备份区间段的svn版本

[root@localhost hello]# svnadmin dump /root/hello/ -r 4:7 > /root/hbk/hello.repo
* 已转存版本 4。
* 已转存版本 5。
WARNING 0x0000: 版本 2 引用的数据比最旧的转存版本 (r4) 还旧。加载这个转存到空的版本库会失败。
* 已转存版本 6。
* 已转存版本 7。
WARNING 0x0000: 导出的版本范围包含的引用超出导出范围。

新建版本

[root@localhost hello]# svnadmin create /root/newhello

导入备份的版本

[root@localhost hello]# svnadmin load /root/newhello/ < /root/hbk/hello.repo 
<<< 开始新的事务,基于原始版本 4
     * 正在增加路径: index_bak.html ...完成。
     * 正在增加路径: index.html ...完成。
     * 正在增加路径: huangbaokang.txt ...完成。
     * 正在增加路径: trunk ...完成。
     * 正在增加路径: trunk/index.html ...完成。
     * 正在增加路径: trunk/index_bak.html ...完成。

------- 提交新版本 1 (从原始版本 4 装载) >>>

<<< 开始新的事务,基于原始版本 5
     * 正在修改路径: huangbaokang.txt ...完成。

------- 提交新版本 2 (从原始版本 5 装载) >>>

<<< 开始新的事务,基于原始版本 6
svnadmin: E160006: 当前版本库不存在相对源版本 -1

拷贝之前的配置文件,用户权限等文件。

[root@localhost hello]# rm -rf /root/newhello/conf/*
[root@localhost hello]# cp /root/hello/conf/* /root/newhello/conf/

删除原版本目录

[root@localhost hello]# rm -rf /root/hello/

启动svn服务

[root@localhost hello]# svnserve -d -r /root/

这样就完成了SVN版本的精简,其他同事在原来的工作中svn将不可用,提交的时候会报错,因为没有相应的版本号,因为精简过好,有原来的1:7变成了1:4(4到7区间段的推移,默认版本从1开始),所以精简之后,需要重新检出一下,用之前的svn checkout命令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值