Subversion安装配置维护,尽在我用Subversion - 我用Subversion编辑团队倾力打造
注意:本文档中心已转移至SVN知识库
注册 | 登陆 RSS 2.0 订阅


svnsync:Subversion备份版本库的好工具

« 上一篇 | 下一篇 »

作者:PCplayer

来自:我用Subversion - http://www.iUseSVN.com

时间:2008-1-2


本文介绍利用svnsync来同步版本库,达到备份版本库的目的

要用到两个命令
1、svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式 svnsync init 目标库URL 源库URL
2、svnsync sync
真正的同步
命令格式 svnsync sync 目标库URL
目标:
本次实现的是版本库的远程自动备份,将版本库备份到另一台机器上
假设我们要同步的源版本库为 http://192.168.0.1/svn/proj1 位于机器A,具体路径我们不必理会,因为我们使用http协议
目标库在机器B,file:///svn/proj1,这个为了简单和安全,我们使用file://协议
过程:
1、在机器B上,创建目标库
mkdir /svn
svnadmin create /svn/proj1
2、修改目标库的脚本pre-revprop-change
进入/svn/proj1/hooks/
cd /svn/proj1/hooks/
cp pre-revprop-change.tmpl  pre-revprop-change
vi pre-revprop-change
    REPOS="$1"
    REV="$2"
    USER="$3"
    PROPNAME="$4"
    ACTION="$5"
    if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
    echo "Changing revision properties other than svn:log is prohibited" >&2
    exit 1
原脚本的意思是如果修改的是svn:log属性,将允许修改,返回0;否则,不允许,返回1
我们要将它改为允许修改所有的属性,在脚本中直接返回0,新的脚本如下:
    exit 0;
3、初始化
svnsync init file:///svn/proj1 http://192.168.0.1/svn/proj1
会提示输入用户名和密码,这里提供的用户名和密码是可以完全读取http://192.168.0.1/svn/proj1的用户名和密码
4、同步
svnsync sync file:///svn/proj1

依然会提示输入用户名和密码,不过,你可以在这个命令之后加上 username 、password参数,
例如svnsync sync file:///svn/proj1 --username username --password password

转帖请包含作者等版权信息、并注明来自:我用Subversion - svnsync:Subversion备份版本库的好工具


Tags: svnsync, 备份 编辑: admin

« 上一篇 | 下一篇 »

25条记录访客评论

我做了,再运行初始化的时候出现如下的错误是什么原因呢?:
D:\Program Files\Subversion\bin>svnsync init file:///e:/svn/Huigu-JXZHX http://1
92.168.1.164/svn/Huigu-JXZHX
svnsync: 钩子“pre-revprop-change”失败,错误输出是:
'REPOS' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'REV' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'PROPNAME' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'ACTION' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
此时不应有 "$ACTION"。

请问这是什么原因呢?

Post by shiyufang on 2008, January 4, 4:15 PM 引用此文发表评论 #1

另外,用论坛的会员帐号为什么不能登录这个Subversion中文文档中心,难道还有其它要求?

Post by shiyufang on 2008, January 4, 4:16 PM 引用此文发表评论 #2

会不会是因为我的目标库所在PC机上只安装了svn-1.4.3-setup.exe 的原因

Post by shiyufang on 2008, January 4, 4:19 PM 引用此文发表评论 #3

我来结束我的提问,是我自己错了,我只是把原来文件中的最后一行   exit 1  替换成了  exit 0.所以出问题了。

原来是整个文件就剩下  exit 0  而已

Post by shiyufang on 2008, January 4, 5:12 PM 引用此文发表评论 #4

补充:Linux下还需设置脚本文件pre-revprop-change的属性为可执行,即
    chmod  +x  pre-revprop-change
Windows下所有文件默认即为可执行,不用设置

另外:在Linux下脚本的第一行应保留  #!/bin/sh

Post by liuqun on 2009, February 26, 11:46 AM 引用此文发表评论 #5

very good

Post by 华宇物流公司 on 2010, May 25, 2:38 PM 引用此文发表评论 #6

非商业应用的转载

Post by 接吻 on 2010, August 18, 4:58 PM 引用此文发表评论 #7

深圳市好日子搬迁有限公司是经深圳运输局批准和国家工商注册的一家大型的正规搬迁运输公司,主要从事居民搬家、企事业单位搬场、家具拆装、货物托运、物流、吊装、移位等一系列服务。公司配备了各种大小型吊车、拖车、叉车等拆卸运输设备,拥有受专业培训并掌握搬迁技巧的高素质员工队伍,对于空调拆装、精美家具搬运有着独到的经验。公司有着严格的规章制度,应急预案等。多年来以过硬的技术、良好的态度、优质的服务、合理的价格深得新老客户的好评。您有要求,我们就会想办法!好日子在乎您的认可!金杯、银杯不如大家的口碑!公司网址:http://www.szjzf.net

Post by 深圳搬家公司 on 2011, February 1, 1:33 PM 引用此文发表评论 #8

今天你喝了酒没有?

Post by 深圳龙岗搬家公司 on 2011, February 1, 1:34 PM 引用此文发表评论 #9

你在哪里?你过得好吗/

Post by 深圳南山搬家公司 on 2011, February 1, 1:35 PM 引用此文发表评论 #10

对你,我该怎么办?

Post by 深圳福田搬家公司 on 2011, February 1, 1:36 PM 引用此文发表评论 #11

hen  hao

Post by qvod on 2011, February 14, 12:09 AM 引用此文发表评论 #12

我过来看看

Post by qvod on 2011, February 15, 7:12 PM 引用此文发表评论 #13

好东西啊

Post by 上海私人侦探 on 2011, February 21, 10:35 AM 引用此文发表评论 #14

very much

Post by 上海私家侦探 on 2011, June 17, 2:52 PM 引用此文发表评论 #15

我要是会就好了

Post by 传奇世界私服 on 2011, September 29, 11:13 AM 引用此文发表评论 #16

这才是高手哦

Post by 传奇私服发布网 on 2011, September 29, 11:13 AM 引用此文发表评论 #17

很难学的哦

Post by 新开传奇私服 on 2011, September 29, 11:14 AM 引用此文发表评论 #18

我也转了哦

Post by 新开传奇私服 on 2011, September 29, 11:15 AM 引用此文发表评论 #19

值得研究的文章

Post by 传奇私服 on 2011, September 29, 11:15 AM 引用此文发表评论 #20

Records:2512

发表评论

评论内容 (必填):