您的位置:首页 > 其它

学习笔记 如何使用svnsync命令对SVN库进行备份

2010-06-13 09:42 871 查看
本节向大家介绍一下如何使用svnsync命令对SVN库进行备份,使用svnsync备份很简单,只有四个步骤,在这里和大家简单介绍一下,希望
通过本节的学习大家能够掌握使用svnsync命令对SVN库进行备份的方法。

下面是具体的备份步骤:

一、在备份机上创建一个空库:svnadmincreateSMP

二、更改该库的钩子脚本pre-revprop-change(因为svnsync要改这个库的属性,也就是要将源库的属性备份到这个库,所以要启用这个
脚本):

cdSMP/hooks;

cppre-revprop-change.tmplpre-revprop-change;

chmod755pre-revprop-change;

vipre-revprop-change;

将该脚本后面的三句注释掉,或者干脆将它弄成一个空文件。

三、初始化,此时还没有备份任何数据:

svnsyncinitfile:///home/backup/svn/svnsync/SMP/http://svntest.subversion.com/repos/SMP

语法是:svnsyncinit{你刚创建的库url}{源库url}

注意本地url是三个斜杠的:///

四、开始备份SVN库:

svnsyncsyncfile:///home/backup/svn/svnsync/SMP

这是就一个个版本进行备份了。我们来看一下SVN库备份过程中可能出现的错误。

附录:

可能的报错一:

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

Failedtogetlockondestinationrepos,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02'

svnsync:Couldn'tgetlockondestinationreposafter10attempts

这个时候可能属性被锁了,删掉属性:svnpropdelsvn:sync-lock--revprop-r0file:///home
/backup/svn/svnsync/SMP

删除成功后,再试一遍基本就可以了。如果反复操作都是同样错误的话,有可能是你的svn安装的有问题,重新安装一遍就好了,俺就是这样。

可能报错二、

svnsync:REPORTrequestfailedon'http://svn1.subversion.com/repos/Relevance'

svnsync:Therequestedreportisunknown.这是因为你源库的版本太低了,svnsync所需要的函数Report是
svn1.4后加入的。没办法,对你的SVN库进行升级后才能备份。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐