近期业务需要,把公司内windows机器上VisualSVN的数据,迁移到云端linux机器。
一、安装svn
1、安装svn - yum install -y subversion
复制代码 2、创建库- mkdir /root/data/svn/repos
- cd /root/data/svn/repos
- svnadmin create base
复制代码 3、配置文件编辑
vim /root/data/svn/repos/base/conf/svnserve.conf 加入- anon-access=none
- auth-access=write
- password-db=passwd
- authz-db=authz
- realm=base
复制代码 vim authz 加入vim passwd 加入4、启动svn服务 - svnserve -d -r /root/data/svn/repos/base --listen-port 3600
复制代码 5、用 svn://127.0.0.1:3600/base访问svn
测试是否成功启动- telnet 127.0.0.1 3600
- Trying 127.0.0.1...
- Connected to 127.0.0.1.
- Escape character is '^]'.
- ( 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- yum install -y httpd mod_dav_svn
复制代码 2、配置httd,进入 vim /etc/httpd/conf.d/subversion.conf ,添加- <Location /svn>
- DAV svn
- SVNParentPath /root/data/svn/repos
- AuthType Basic
- AuthName "Authorization SVN"
- AuthzSVNAccessFile /root/data/svn/conf/authz
- AuthUserFile /root/data/svn/conf/httppassword
- Require valid-user
- </Location>
复制代码 其中, /root/data/svn/repos 为svn库的根目录,为支持多个库的情况,应把权限文件放在 repos之外。
3、权限 vim /root/data/svn/conf/authz4、加httpd的用户权限- 首次
- htpasswd -c /root/data/svn/Repositories/conf/httppassword chon
- 之后
- htpasswd -m /root/data/svn/Repositories/conf/httppassword chon2
- htpasswd -m /root/data/svn/Repositories/conf/httppassword chon3
- htpasswd -m /root/data/svn/Repositories/conf/httppassword chon4
复制代码 5、修改目录所有者,以及文件权限- chown apache.apache /root/data/svn/repos/base -R
- chmod -R 777 /root/data/svn/repos/base
复制代码 6、重启 httpd注意,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库,命令如下- svnadmin dump d:\Repositories\operate > e:\svn_dump\operate.dump
- svnadmin dump d:\Repositories\platform > e:\svn_dump\platform.dump
- svnadmin dump d:\Repositories\product > e:\svn_dump\product.dump
- svnadmin dump d:\Repositories\sound > e:\svn_dump\sound.dump
- svnadmin dump d:\Repositories\source > e:\svn_dump\source.dump
复制代码 2、把导出的文件上传至linux服务器,依次执行- mkdir /root/data/svn/repos/sound
- svnadmin create /root/data/svn/repos/sound
- svnadmin load /root/data/svn/repos/sound < /data/sound.dump
复制代码- 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
- svnadmin dump d:\Repositories\platform > e:\svn_dump\platform.dump
- svnadmin dump d:\Repositories\product > e:\svn_dump\product.dump
- svnadmin dump d:\Repositories\sound > e:\svn_dump\sound.dump
- svnadmin dump d:\Repositories\source > e:\svn_dump\source.dumpsvnadmin load /root/data/svn/repos/sound < /root/data/svn/dump_95/sound.dump
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |