码迷,mamicode.com
首页 > 其他好文 > 详细

使用svnsync同步svn

时间:2016-08-21 13:47:21      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

使用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/
 

使用svnsync同步svn

标签:

原文地址:http://www.cnblogs.com/mysticeyes/p/5792586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!