【SVN备份源地址修改】

使用svnsync实现已有版本库的镜像
svn不支持分布式开发,所以把svn版本库保存在一台服务器上是不安全的。制作一个镜像svn版本库有多种方式,我采用subversion自带的svnsync程序。

源版本库路径:http://192.168.0.100/svn/project
镜像版本库路径:/var/svn/project

建立镜像版本库

    svnadmin create /var/svn/project
    # 创建钩子
    cp /var/svn/project/hooks/pre-revprop-change.tmpl /var/svn/project/hooks/pre-revprop-change
    # 给予钩子运行权限
    chmod a+x /var/svn/project/hooks/pre-revprop-change
    # 编辑pre-revprop-change钩子,将最后一行的 `exit 1` 改为 `exit 0`
    vim /var/svn/project/hooks/pre-revprop-change
初始化镜像库

    svnsync init file:///var/svn/project/ http://192.168.0.100/svn/project
同步

    # 同步也使用这段指令
    svnsync sync --non-interactive file:///var/svn/project
解锁

    # 删除属性 “svn:sync-lock” 于版本库版本 0
    svn propdel svn:sync-lock --revprop -r 0 file:///var/svn/project/
修改原始版本库的地址
如果原始版本库的地址改变了(比如说换了域名或者IP地址),在svn中可以使用 svn relocate 来实现,但在svnsync中,就必须用propset来实现了,具体指令如下:


    svn propget svn:sync-from-url –-revprop -r 0 file:///var/svn/project/
    # 这个操作会显示原始版本库的地址(假如你忘了原始地址就很有用)
    # http://192.168.0.100/svn/project
 
# 设置新的版本库地址
    svn propset svn:sync-from-url –-revprop -r 0 http://10.0.0.9/svn/project file:///var/svn/project/
# 再次同步
    svnsync sync --noninteractive file:///var/svn/project/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值