zoukankan      html  css  js  c++  java
  • svnsync同步svn

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

    源版本库路径:svn:ip/svn/project
    镜像版本库路径:svn:ip/svn/backup

    • 建立镜像版本库

    1
    2
    3
    4
    如果目标目录存在相同的项目,请先清除,重新建立空项目
     
    svnadmin create backup
     
    在mu目录下hooks目录下,建立
     
    pre_revprop-change.bat 全部内容只有一行:exit 0
    • 初始化镜像库

    1
    svnsync init svn:ip/svn/backup svn:ip/svn/project
    • 同步

    1
    2
    # 同步也使用这段指令
    svnsync sync --non-interactive svn:ip/svn/backup
    • 解锁

    1
    2
    # 删除属性 “svn:sync-lock” 于版本库版本 0
    svn propdel svn:sync-lock --revprop -r 0 svn:ip/svn/backup
    • 修改原始版本库的地址

    如果原始版本库的地址改变了(比如说换了域名或者IP地址),在svn中可以使用 svn relocate 来实现,但在svnsync中,就必须用propset来实现了,具体指令如下:

    1
    2
    3
    4
    5
    6
    7
    8
    svn propget svn:sync-from-url –-revprop -r 0 svn:ip/svn/backup
    # 这个操作会显示原始版本库的地址(假如你忘了原始地址就很有用)
    # http://192.168.0.100/svn/project
     
    # 设置新的版本库地址
    svn propset svn:sync-from-url –-revprop -r 0 http://10.1.1.9/svn/project svn:ip/svn/backup
    # 再次同步
    svnsync sync --noninteractive svn:ip/svn/backup
  • 相关阅读:
    python实例26[查询修改文件的属性]
    [SCM]源码管理 VisualSVN Server+TortoiseSVN
    持续集成之“依赖管理”
    Spoon:在“云”上运行桌面应用程序
    数字签名的验证
    判断Linux/Unix为32位或64位
    持续集成理论和实践的新进展
    [SCM]源码管理 SVN Server
    [BuildRelease Management]Parabuild
    为VM增加磁盘空间
  • 原文地址:https://www.cnblogs.com/xxsl/p/6741932.html
Copyright © 2011-2022 走看看