转自:https://www.jianshu.com/p/e2bc620c4ef5
感谢“帅可儿妞”的总结!
虽然(我也只能这么说)现在SVN用的人越来越少,但是公司目前还是使用SVN来管理代码和文档。今天去看我们的SVN服务器的电脑,上面的C盘也居然马上满了,无奈之下,也不能去随便删除,cmd命令也运行不起来,反正各种问题,当然了这些问题都是可以解决的,但是问题太多,以至于我不想去修改,装个系统得了,但是SVN的数据不能丢啊,所以只能迁移,其实还是比较简单的,下面就是操作步骤:
数据备份
-
把版本的数据备份下来
- 找到本地的仓库地址:打开
VisualSVN Server
,在VisualSVN Server
上右键 →properties
→storage
,右侧的Repositories Root
就是本地仓库的地址,如下图:图1-1
图1-2
- 打开命令行窗口,输入以下指令(如果你没有设置SVN的环境变量需要进入
VisualSVN Server
的安装目录的bin目录下打开命令行窗口):svnadmin dump <local-repo-path> > <dump-file-path>
- 说明:
<local-repo-path>
:本地的仓库地址根路径;<dump-file-path>
:备份文件的路径 - 键入以上指令以后,你要备份的仓库的版本数据联通历史提交记录就全部导入到了备份文件中
- 说明:
- 找到本地的仓库地址:打开
-
备份用户信息、分组信息和授权信息
-
在仓库的根路径下面有三个文件如图2-1
图2-1
- 其中
groups.conf
是分组信息,htpasswd
是用户密码,VisualSVN-GlobalWinAuthz.ini
是授权信息文件
- 其中
- 手动拷贝并备份这三个文件,即可实现用户信息、分组信息和授权信息的备份;
-
数据恢复
- 安装新的
VisualSVN Server
,不再罗嗦,需要注意的是电脑的名称不能是中文的,否则会拒绝安装; - 在安装完成的
VisualSVN
中新建空的仓库; - 同样的打开命令行,输入恢复的指令
svnadmin load <local-empty-repo-path> < <dump-file-path>
- 说明:
<local-empty-repo-path>
:新建的空的仓库路径;<dump-file-path>
:以前备份的文件 - 执行以上指令后就会按照之前的历史记录重新执行,数据就回来了
- 说明:
- 恢复用户信息、分组信息和授权信息
- 只需要把之前备份的那三个文件(如图2-1)覆盖新的仓库中的这三个文件,然后重启
VisualSVN Server
即可;
- 只需要把之前备份的那三个文件(如图2-1)覆盖新的仓库中的这三个文件,然后重启
作者:帅可儿妞
链接:https://www.jianshu.com/p/e2bc620c4ef5
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。