场景
SVN仓库需要从Windows 10操作系统整体迁移至Linux CentOS 7 操作系统
迁移准备
- 需要先在Linux那台操作系统的服务器上安装SVN,具体安装教程看这篇文章:Linux(CentOS 7)安装SVN详解
- 安装完成以后新建一个新的仓库,仓库名最好和需要迁移的仓库名字对应
操作过程
Windows平台SVN管理使用的是VisualSVN,比如你的仓库路径位置:D:svnAProject,(AProject是项目仓库名称),利用svnadmin,Linux操作系统需要的是.dump结尾的文件不是用VisualSVN备份出来的.vsvn.bak结尾文件,下面开始操作命令
导出
代码语言:javascript复制svnadmin dump AProject > D:AProject.dump
D:AProject.dump 的意思是新的文件导出到D盘下,文件名为AProject.dump
导出是时间和仓库大小有关,这样是所有Version版本号都会导出来,如果只需要导出指定版本
导出指定版本号
导出Version版本号为20的所有AProject仓库下的文件,导出到D盘,命名为AProject.dump
代码语言:javascript复制svnadmin dump AProject -r 20 > D:AProject.dump
导出Version版本号100-200之间的
代码语言:javascript复制svnadmin dump AProject -r 100:200 > D:AProject.dump
导出完成之后把导出的AProject.dump上传到服务器
导入
最好提前创建好一个和需要迁移的SVN库名字一样的仓库/svn/AProject ,AProject为Linux新建的仓库,这里模拟把之前导出的AProject.dump文件上传到了服务器/svn下
代码语言:javascript复制svnadmin load /svn/AProject < /svn/AProject.dump
到此位置算是SVN库迁移完毕,接下来就是配置账户和权限
账户和权限
由于Windows操作系统上SVN使用VisualSVN本地密码存储为加密的密文,而Linux操作系统上SVN账户存储为明文,这里唯一麻烦的一点是需要将密文替换成明文
Windows操作系统VisualSVN管理的账户存储位置
- 账户和密码在和项目仓库同级路径下文件名为:htpasswd,右键-打开方式可以用记事本,可以使用NotePad
- 组管理信息在同级路径下文件名为:groups.conf,打开方式同上
- 权限分配文件位置,SVN仓库目录的下一级里面,如在:D:AProject里面找到conf文件双击进入找到文件名为:VisualSVN-SvnAuthz.ini这个就是,如图修改
配置新SVN仓库账户和权限
把上面找到的账户和密码,还有权限文件,按照这篇文章里面的设置去修改成一样的即可Linux(CentOS 7)安装SVN详解
最后配置完毕不要忘了重启SVN服务!