「SVN迁移」SVN迁移服务器代码,包含全部提交日志

「SVN迁移」SVN迁移服务器代码,包含全部提交日志,第1张

问题描述:

公司需要将一个SVN远程服务器的全部已有项目迁移到一台新服务器的SVN中,其中需要包含全部的提交日志,目前此工作已全部迁移完毕,特此记录一下操作步骤

环境描述:

1. 要迁移的远程SVN的 Windows服务器

2. 迁移目的SVN的Windows服务器

操作流程:

1. 使用SVN备份功能导出原先的SVN仓库文件

2. 将SVN文件复制到新的服务器磁盘中

3. 在新的服务器创建新SVN仓库

4. 加载导出备份文件即可

建议后面的路径中间均不要有空格,不然使用一些命令时容易有问题

因为导出的SVN 历史 文件可能很大,推荐使用U盘复制和备份后操作

操作步骤:

1. 用windows的cmd命令框CD进入到VisualSVN Server的安装目录下的bin目录,使用命令生成svn仓库的备份

此命令:第一个路径是svn仓库路径,第二个是备份的路径。

svnadmin dump D:svnRepositoriesdxd >D:SVNBackupdxdBackup20220319.dump

2. 复制导出的dump到新的SVN服务器,这个文件建议备份一下,算是留档了哈,在新的服务器中创建一个新的SVN仓库,名字可以与原来的不同不耽误备份导入

3. 加载这个dump备份文件。同样在新服务器的VisualSVN Server的安装目录下的bin目录,使用CMD命令加载新的SVN仓库中。

svnadmin load D:svnRepositoriesdxd <D:BackupdxdBackup20220319.dump

因为公司搭建了自己的IDC机房,所以将外面的服务迁移回本部。

svn迁移的方式有很多,比如svnadmin dump / historycopy / sync等等,这些操作起来都感觉略微麻烦,这里将一个最暴力的方式。

1、将svn 服务停止

    # ps -ef | grep svn  找出对应 pid

    # kill -9 12356 杀死进程

2、将svn对应的仓库打包

一般的svn仓库都在 /var/svn 目录,整体压缩打包;

    # tar -czvf svn.tar.gz ./svn

3、使用scp命令将tar.gz 文件传到对应机房服务器

    # scp svn.tar.gz root@10.0.0.255:/var/

4、解压

    # tar -xzvf svn.tar.gz 

5、启动svn服务器

# /usr/bin/svnserve -d -r /var/svn

(svn 安装可以用yum 进行 yum -y install subversion )

启动也可以用 service svnserve start

将windows上svn迁移到linux上

实现svn方式和http方式访问

进入conf目录

authz :负责test3库的账号权限管理,控制账号是否读写权限

passwd :负责test3库的账号和密码管理,注意密码是明文的

svnserve.conf :svn服务器配置文件

示例:

启动:

端口:3690 注意打开防火墙

访问:

svn://192.168.1.206:3690/test3

用mod_dav_svn模块实现Apache服务进行访问svn仓库,mod_dav_svn是Apache和svn之间的接口

SVNParentPath /svn/svndir

指如果有多个版本库建议使用SVNParentPath不使用SVNPath,/svn/svndir 版本库位置

AuthUserFile /svn/svndir/passwd

指后面使用apache的htpasswd创建的用户名密码

AuthzSVNAccessFile /svn/svndir/authz

指权限文件

创建用户并设置密码

此时可以通过

http://192.168.1.206/svn/test3

在浏览器中输入用户名密码访问

直接将windows下Repositories目录下的数据打包迁移到linux下的Repositories即可访问,但是用户名和密码不可以迁移,需要重建

1 注意权限为问题,如果/svn/svndir属主不是apache,会一直访问拒绝访问

2 svn协助与http协议

svn协议,用于客户端使用svn://方式访问版本库,而mod_authz_svn模块让客户端可通过Apache访问版本库,它们分别使用不同的服务:svnserve、httpd进行访问。由于用户、组权限不同,权限管理方式也不相同,因此,不建议同时启动两种访问方式。

而易用性,管理方便的角度来分析,Apache以,mod_authz_svn模块的方式访问版本库会更多人选择。(mod_authz_svn方式,使用80端口访问,并且提供https等加密传输,用于用户信息验证的密码保存方式不是明文的)


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/370902.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存