想把服务器A 上面的svn代码库(目录为/home/svn/testing 代码库叫testing) 迁移到服务器B 上面
1.在服务器A上
svnadmin dump /home/svn/testing > svn_dump
将 /home/svn/testing/conf 这个目录 复制出来 待会(需要传到服务器B上面)
2.在服务器B上
将第一步svn_dump 这个文件 和conf这个目录复制到服务器B上面
为服务器B svn新建一个用户(如果不需要可以跳过)
useradd svn # 添加一个用户svn 中途会出现设置这个用户密码注意,其余回车默认就可以
su svn # 切换到svn这个用户
cd /home/svn
svnadmin create testing # 创建新的仓库 这里名字和旧的保持一致
svnadmin load testing < svn_dump # 导入数据
导入完后 进入/home/svn/testing 将之前 A服务器复制出来的conf目录 替换掉B服务器的conf目录 (这个操作可以将之前A服务器的配置信息和一些账户密码迁移过来)
启动svn服务
svnserve -d -r /home/svn
注:
-d:表示在后台运行
-r:指定服务器的根目录
这样访问服务器时就可以直接用”svn://服务器ip/repository”来访问了。(这里就是服务器B的svn地址就是 svn://服务器Bip/testing)
如果提示svnadmin找不到命令
apt install subversion
到这里svn迁移就完成了
3. 使用者svn切换
假设我之前客户端svn 目录在 /code/testing
cd /code/testing
svn info # 可以查看到之前旧的svn地址
svn switch –relocate 旧的svn地址 新的svn地址
svn switch –relocate svn://服务器Aip/et svn://服务器Bip/et
再次查看svn info 就会发现已经切换到新的svn了