用svnsync 同步备份 svn 版本库 从一台服务器到另一台服务器


如用svnsync同步备份两台机器的svn。(就以linux服务器到windows服务器为例子)

要同步的项目名称:source_svn

svn版本库1。4以上
源目录:svn://192.168.16.199/source_svn
同步目标目录:http://目标IP:8080/source_svnbak

方法:

1.如果目标目录存在相同的项目,请先清除,重新建立空项目

2.在目标服务器中建立svn版本库source_svnbak svnadmin create source_svnbak (svnadmin是svn的命令如果没有将svn目录放到环境变量需要在其目录里面使用该句若是windows可以直接点击右键创建svn)

3.需要在hooks中将pre_revprop_change.tmpl改为pre_revprop_change.bat并将内容清空然后输入exit 0

4.执行初始化

svnsync init svn://目标:ip:端口号/source_svnbak svn://192.168.16.199/source_svn

(执行到这一般会出现一个问题 svnsync: 认证失败)解决:需要把源文件source_svn中的conf拷贝到目标source_svnbak中替换conf文件

如果成功他会提示你输入用户名和密码(注:第一个是Administrator这个我觉得不用管随便输入,确定后才是你svn中填写的用户名和密码在conf中的文件有配置)

正确后,显示

Copied properties for revision 0.(复制版本 0 的属性。)

5

执行同步

svnsync sync svn://目标ip和端口号/source_svnbak --username xxxx --password xxxx(一般端口号不用写除非端口号不是默认安装过的需要写,用户名和密码都在conf中有配置)

即svnsync sync 目标库

正确执行后,显示

复制版本号和提交数据等信息

6.更新同步

在source_svn的hooks下面,添加post-commit 脚本

可拷贝post-commit.tmpl


cp post-commit.tmpl post-commit

然后

把 post-commit 中,最后两行替换为

svnsync sync --non-interactive svn://目标ip:(端口号)/source_svnbak --username xxx --password xxx

即提交更新后,即执行同步命令,不进行交互

把post-commit 设为755权限。

ps:

如果post-commit脚本出错,或者无可执行权限,在提交更新时会报错

错误处理:
在源端,同步用的帐号需要有读权限,在目的端同步帐号需要读写权限.权限分配合理后,基本上就不会出现其他错误.

如果出现以下列出的之外的错误,请先检查一下svn服务是否可正常使用.
比较常见的错误是:
# svnsync initialize DEST_URI SRC_URI --username cax--password password_for_cax
svnsync: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svnsync: At least one property change failed; repository is unchanged

这是由于系统中没有pre-revprop-change钩子脚本导致的,该文件在版本库的~/hooks/下,只需拷贝一份即可.
cp -pf hooks/pre-revprop-change.tmpl hooks/pre-revprop-change

如果是windows系统,还需要清空pre-revprop-change的内容,并添加后缀为pre-revprop-change.bat
在批处理文件中, Linux下shell中注释符#不能被batch正确解释也会重复出现该错误.

来源:http://blog.csdn.net/stuartjing/article/details/6796763

优质内容筛选与推荐>>
1、从工业4.0到营销4.0
2、SpringBoot2.0.0使用FeignClient进行服务间的调用,传递headers信息
3、微服务架构设计第六步:微服务的UserStories的分析、设计与定义完成
4、so加固-加密特定section中的内容
5、如何搭建高可用Redis服务


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号