设为首页 收藏本站
查看: 1002|回复: 0

[经验分享] windows下SVN版本库迁移小结

[复制链接]

尚未签到

发表于 2018-6-22 08:31:56 | 显示全部楼层 |阅读模式
  SVN需求:搬迁至异地上云环境,迁移过程将影响用户的时间减少至最小。
  SVN常见的几种迁移方案:
  第一种:整个SVN库目录打包迁移,原库大小17G,打包加迁移时间预估时间约5小时以上,中断不符合要求。
  第二种:svnadmin 自带的dump导出load导入方式迁移 :所有版本导出大小超过了磁盘剩余空间(不小于40G),中断不符合要求。
  第三种:通过svnsync钩子脚本同步方式进行第一次全量同步,迁移时增量同步(预计最快时间十分钟左右)。
  利用svnsync同步过程:
  1. 原SVN服务器与目标SVN服务器
  两边开设用于同步的帐号(最好帐号密码一致)
  2.目标SVN服务器上:
  利用SVN自带的钩子脚本更改如下:
  路径:D:\svn_repository\hooks\pre-revprop-change.tmpl
  将最后三行删除改成exit 0     如下:
  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 0
  新建pre-revprop-change.bat文件,将pre-revprop-change的最后两行拷过来即可或者直接输入exit 0。
  exit 0
  重启SVN服务。
  接下来进行同步前的初始化,格式 svnsync init  目标库路径  源库路径
  svnsync init svn://127.0.0.1/ svn://61.174.30.194/
  如报错:Repository has not been enabled to accept revision propchanges;ask the administrator to create a pre-revprop-change hook .
  pre-revprop-change.bat检查此脚本文件是否存在,如存在检查文件格式是否正确。我这边在windows server2008下通过文本文档创建了pre-revprop-change.bat文件后实际上通过属性查看它并不是一个可执行文件,而是一个txt文件类型。在此问题排查上浪费了很多时间,一直初始化不成功。从自己win7机器上新建可执行文件格式pre-revprop-change.bat再传至服务端测试OK。
  开始同步:
  svnsync sync svn://127.0.0.1/
  3.SVN迁移后更改域名指向测试svn update时报错:
  Repository UUID '60f49f27-8aaa-164f-9098-701db8904462' doesn't match expected
  原因为:
  原来Repository创建者的UUID是前者,而现在所操作的是后者的UUID。因此,目前的解决办法是:使用相关命令更新Repository的UUID。
  查看原SVN的UUID:
  D:\svnrepository>svnlook uuid D:\svnrepository
  1024ede3-db12-4f4b-a8b4-28f755881912
  查看新SVN的UUID:
  C:\Users\Administrator>svnlook uuid D:\svn_repository
  60f49f27-8aaa-164f-9098-701db8904462
  将新SVN的UUID更改成跟原SVN一样:
  C:\Users\Administrator>svnadmin setuuid D:\svn_repository 1024ede3-db12-4f4b-a8b 4-28f755881912
  再次svn update测试OK。
  同步后查看两端的版本号是否一致svnlook youngest D:\svnrepository
  svnsync: Destination HEAD (13713) is not the last merged revision (13711); have
  you committed to the destination without using svnsync?
  由于目标库在测试时新增了版本库,所以导致原库同步过来出错。
  解决方案:
  C:\Users\Administrator>svn propset --revprop -r0 svn:sync-last-merged-revision 13713 svn://127.0.0.1/
  property 'svn:sync-last-merged-revision' set on repository revision 0
  C:\Users\Administrator>svn propset --revprop -r0 svn:sync-last-merged-rev 13713  svn://127.0.0.1/
  property 'svn:sync-last-merged-rev' set on repository revision 0
  C:\Users\Administrator>svnsync sync svn://127.0.0.1/
  再次查看,源库与目标库版本已经一致:
  C:\Users\Administrator>svn proplist -v --revprop -r0 svn://127.0.0.1/
  Unversioned properties on revision 0:
  svn:sync-from-uuid
  1024ede3-db12-4f4b-a8b4-28f755881912
  svn:sync-last-merged-rev
  13713
  svn:sync-last-merged-revision
  13713
  svn:date
  2009-08-19T02:21:19.281250Z
  svn:sync-from-url
  svn://61.x.x.x

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-528969-1-1.html 上篇帖子: nagios监控Windows网卡报警乱码 下篇帖子: windows 远程桌面kali
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表