Linux svn仓库备份到Windows机器上
1,需求说明,Linux作为主库(A),Windows作为本地备份库(B),要求每天将Linux库中的代码备份到本地
2,B机器上安装svn服务端
3,
4,创建一个新的svn仓库(仓库必须是新创建的而且不能有提交,更新等操作)
进入仓库的hooks文件夹,复制pre-revprop-change.tmpl 文件,重命名为pre-revprop-change.bat ,编辑pre-revprop-change.bat文件 删除全部内容,输入exit 0 保存
5、执行同步要使用到两个命令
1、svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式 svnsync init 目标库URL 源库URL
2、svnsync sync
真正的同步
命令格式 svnsync sync 目标库URL
全部操作如下图所示
C:\Users\Administrator>svnsync init file:///E:\lywebsite svn://39.105.111.20/lyw
Ebsite
C:\Users\Administrator>svnsync sync file:///E:\lywebsite
执行svnsync init 时先会让你填写administrator的密码,随便输入就行
接下来输入svn的账号密码
最后执行svnsync sync ,这一步有可能也会让你输入用户名密码
可使用下面的格式,带上用户名和密码
svnsync sync file:///svn/proj1 –username username –password password
问题:
1. Repository has not been enabled to accept revision propchanges
解决方法:
Linux:
在hooks下新建pre-revprop-change文件,内容是
#!/bin/sh
exit 0;
Windows:
在hooks下新建pre-revprop-change.bat文件, 内容为空即可
2. Revprop change blocked by pre-revprop-change hook (exit code 255) with no output
解决方法:
Linux:
chmod a+x pre-revprop-change
3,svnsync: Destination HEAD (593) is not the last merged revision (592);
have you committed to the destination without using svnsync?
解决方法
svn propset --revprop -r0 svn:sync-last-merged-revision 593 file:///home/test/svn/test