linux系统中svn仓库迁移

2021-12-24  本文已影响0人  Acto

公司服务器被前面几任开发搞得磁盘只剩下几百M了,服务器里面东西乱七八糟,公司领导不太愿意直接扩容磁盘,而且关键问题是:开发环境、测试环境 、生产环境,共用一台服务器。😂,只能说前任过得太苦逼了(哈哈,话中有话,懂就好)进入正题:

新服务器svn环境安装

1、在旧服务器中,使用命令svn --version查看svn版本,例如:

(base) [root@api svn]# svn --version
svn, version 1.7.14 (r1542130)
   compiled Apr 11 2018, 02:40:28

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

2、根据第一步得到的svn版本来安装(根据自己的版本号,自行百度),我这边是直接执行yum安装,刚好是相同版本

yum -y install subversion

接下来,检查SVN 是否安装成功。

svn --version   #出现version,表示安装成功 

迁移步骤

建议迁移的时候,将所有源库SVN所有账号的权限改成只读,或者停掉SVN服务器

SVN的迁移有两种方式:

1) dump出源机器SVN的代码库,然后load到新服务器上去。

2) 使用 svnsync 直接同步源机器代码库。

比较这两种迁移的方式,我比较推荐第二种,使用svnsync进行迁移。第一种使用dump出源机器代码库,dump完,看了一下dump文件,几十个G,太大了

下面直接记录下第二种方式迁移的步骤
1、新服务器:

svnadmin create /data/svn/www # 创建版本库www
cd /data/svn/www
cp hooks/pre-revprop-change.tmpl hooks/pre-revprop-change 
chmod 777 hooks/pre-revprop-change

vim hooks/pre-revprop-change # 修改最后一行代码,如下
exit 0

2、具体迁移命令

svnsync init file:///data/svn/www svn://旧服务器svn地追/www  # 初始化
svnsync sync file:///data/svn/www # 开始同步数据

PS : 这块需要输入密码验证,新服务器的密码 源服务器SVN的账号密码,此账号应该有仓库所有代码的读取权限


image.png

3、等待迁移完成,进行版本校验

svnadmin verify /data/svn/www

没提示错误,代表迁移成功

4、关键步骤
复制旧服务器上的svn仓库uuid到新服务器对应的svn仓库,这样子svn客户端才不会报错

# 旧服务器
(base) [root@api svn]# cat www/db/uuid 
9d0c555b-2354-404e-b7a9-d3e529fcf44f
# 新服务器 
vim /data/svn/www/db/uuid
# 用旧服务器的uuid替换这里的uuid

现在可以去svn客户端测试了

测试

关键步骤,将svn工作副本切换指向新服务器,核心命令是

svn relocate

不同系统不同客户端,操作大同小异,大家自行操作即可

最后可以测试一下提交svn能不能成功了

参考:https://blog.csdn.net/liangcl_2018/article/details/79745688

上一篇下一篇

猜你喜欢

热点阅读