记一次svn迁移

打印 上一主题 下一主题

主题 543|帖子 543|积分 1629

近期业务需要,把公司内windows机器上VisualSVN的数据,迁移到云端linux机器。
一、安装svn
1、安装svn  
  1. yum install -y subversion
复制代码
2、创建库
  1. mkdir /root/data/svn/repos
  2. cd /root/data/svn/repos
  3. svnadmin create base
复制代码
3、配置文件编辑
vim /root/data/svn/repos/base/conf/svnserve.conf  加入
  1. anon-access=none
  2. auth-access=write
  3. password-db=passwd
  4. authz-db=authz
  5. realm=base
复制代码
vim authz  加入
  1. [hip:/]
  2. chon=rw
  3. * =
复制代码
vim  passwd 加入
  1. chon=123456
复制代码
4、启动svn服务 
  1. svnserve -d -r /root/data/svn/repos/base --listen-port 3600
复制代码
5、用 svn://127.0.0.1:3600/base访问svn
测试是否成功启动
  1. telnet 127.0.0.1 3600
  2. Trying 127.0.0.1...
  3. Connected to 127.0.0.1.
  4. Escape character is '^]'.
  5. ( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops <br>depth log-revprops atomic-revprops partial-replay ) ) )
复制代码
表示启动成功。
但此种方式不支持http访问,下面做http的配置;
 
二、添加http访问支持
1、安装 httpd    和 mod_dav_svn
  1. yum install -y httpd mod_dav_svn
复制代码
2、配置httd,进入    vim /etc/httpd/conf.d/subversion.conf ,添加
  1. <Location /svn>
  2.     DAV svn
  3.     SVNParentPath /root/data/svn/repos
  4.     AuthType Basic
  5.     AuthName "Authorization SVN"
  6.     AuthzSVNAccessFile /root/data/svn/conf/authz
  7.     AuthUserFile /root/data/svn/conf/httppassword
  8.     Require valid-user
  9. </Location>
复制代码
其中, /root/data/svn/repos 为svn库的根目录,为支持多个库的情况,应把权限文件放在 repos之外。 
3、权限 vim /root/data/svn/conf/authz
  1. [base:/]
  2. chon=rw
  3. * =
复制代码
4、加httpd的用户权限
  1. 首次
  2. htpasswd -c /root/data/svn/Repositories/conf/httppassword chon
  3. 之后
  4. htpasswd -m /root/data/svn/Repositories/conf/httppassword chon2
  5. htpasswd -m /root/data/svn/Repositories/conf/httppassword chon3
  6. htpasswd -m /root/data/svn/Repositories/conf/httppassword chon4
复制代码
5、修改目录所有者,以及文件权限
  1. chown apache.apache /root/data/svn/repos/base  -R
  2. chmod -R 777 /root/data/svn/repos/base
复制代码
6、重启 httpd
  1. service httpd restart
复制代码
注意,httpd的启动,与   svnserve -d -r /root/data/svn/repos/base --listen-port 3600  并无关联,是两种相对独立的服务方式。
7、访问  http://47.18.20.88:9095/svn/bast/,输入账号密码,输出为, 表示成功
hip - Revision 0: /

  
三、开始迁移操作
1、dump出原 VisualSVN 中各个svn库,命令如下
  1. svnadmin dump d:\Repositories\operate > e:\svn_dump\operate.dump
  2. svnadmin dump d:\Repositories\platform > e:\svn_dump\platform.dump
  3. svnadmin dump d:\Repositories\product > e:\svn_dump\product.dump
  4. svnadmin dump d:\Repositories\sound > e:\svn_dump\sound.dump
  5. svnadmin dump d:\Repositories\source > e:\svn_dump\source.dump
复制代码
2、把导出的文件上传至linux服务器,依次执行
  1. mkdir /root/data/svn/repos/sound
  2. svnadmin create /root/data/svn/repos/sound
  3. svnadmin load /root/data/svn/repos/sound < /data/sound.dump
复制代码
  1. svnadmin dump d:\Repositories\art > e:\svn_dump\art.dumpsvnadmin dump d:\Repositories\code > e:\svn_dump\code.dumpsvnadmin dump d:\Repositories\games > e:\svn_dump\games.dumpsvnadmin dump d:\Repositories\operate > e:\svn_dump\operate.dump
  2. svnadmin dump d:\Repositories\platform > e:\svn_dump\platform.dump
  3. svnadmin dump d:\Repositories\product > e:\svn_dump\product.dump
  4. svnadmin dump d:\Repositories\sound > e:\svn_dump\sound.dump
  5. svnadmin dump d:\Repositories\source > e:\svn_dump\source.dumpsvnadmin load /root/data/svn/repos/sound < /root/data/svn/dump_95/sound.dump
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

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