2008年4月4日星期五

svn 进行文件备份

1、在两台电脑A和B上安装cygwin的svn。其中A用作开发,B用作备份。
2、A电脑上创建数据库
-- svnadmin create /cygdrive/d/svndb
3、B电脑上创建数据库
-- svnadmin create /cygdrive/d/svndb
4、B电脑上,修改脚本pre-revprop-change
-- cd /cygdrive/d/svndb
-- 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;
-----------------------------------------
5、B电脑上运行SVN服务器
-- svnserve -d -r /cygdrive/d/svndb
6、B电脑上增加SVN服务器的登录用户名和密码
来到/cygdrive/d/svndb/conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd
然后修改同目录的passwd文件,增加用户名和密码:
[users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
# harry = harryssecret
# sally = sallyssecret
testuser = testpassword
7、A电脑上配置svnsync
-- svnsync init --username=testuser svn://192.168.0.100 file:///cygdrive/d/svndb
-- 按提示输入密码
8、A电脑上运行命令同步数据库
-- svnsync sync --username=richard svn://192.168.0.100
-- 按提示输入密码后,将开始同步。

没有评论: