linux系統(tǒng)中svn倉庫遷移

公司服務(wù)器被前面幾任開發(fā)搞得磁盤只剩下幾百M(fèi)了,服務(wù)器里面東西亂七八糟,公司領(lǐng)導(dǎo)不太愿意直接擴(kuò)容磁盤,而且關(guān)鍵問題是:開發(fā)環(huán)境、測(cè)試環(huán)境 、生產(chǎn)環(huán)境,共用一臺(tái)服務(wù)器。??,只能說前任過得太苦逼了(哈哈,話中有話,懂就好)進(jìn)入正題:

新服務(wù)器svn環(huán)境安裝

1、在舊服務(wù)器中,使用命令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、根據(jù)第一步得到的svn版本來安裝(根據(jù)自己的版本號(hào),自行百度),我這邊是直接執(zhí)行yum安裝,剛好是相同版本

yum -y install subversion

接下來,檢查SVN 是否安裝成功。

svn --version   #出現(xiàn)version,表示安裝成功 

遷移步驟

建議遷移的時(shí)候,將所有源庫SVN所有賬號(hào)的權(quán)限改成只讀,或者停掉SVN服務(wù)器

SVN的遷移有兩種方式:

1) dump出源機(jī)器SVN的代碼庫,然后load到新服務(wù)器上去。

2) 使用 svnsync 直接同步源機(jī)器代碼庫。

比較這兩種遷移的方式,我比較推薦第二種,使用svnsync進(jìn)行遷移。第一種使用dump出源機(jī)器代碼庫,dump完,看了一下dump文件,幾十個(gè)G,太大了

下面直接記錄下第二種方式遷移的步驟
1、新服務(wù)器:

svnadmin create /data/svn/www # 創(chuàng)建版本庫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://舊服務(wù)器svn地追/www  # 初始化
svnsync sync file:///data/svn/www # 開始同步數(shù)據(jù)

PS : 這塊需要輸入密碼驗(yàn)證,新服務(wù)器的密碼 源服務(wù)器SVN的賬號(hào)密碼,此賬號(hào)應(yīng)該有倉庫所有代碼的讀取權(quán)限


image.png

3、等待遷移完成,進(jìn)行版本校驗(yàn)

svnadmin verify /data/svn/www

沒提示錯(cuò)誤,代表遷移成功

4、關(guān)鍵步驟
復(fù)制舊服務(wù)器上的svn倉庫uuid到新服務(wù)器對(duì)應(yīng)的svn倉庫,這樣子svn客戶端才不會(huì)報(bào)錯(cuò)

# 舊服務(wù)器
(base) [root@api svn]# cat www/db/uuid 
9d0c555b-2354-404e-b7a9-d3e529fcf44f
# 新服務(wù)器 
vim /data/svn/www/db/uuid
# 用舊服務(wù)器的uuid替換這里的uuid

現(xiàn)在可以去svn客戶端測(cè)試了

測(cè)試

關(guān)鍵步驟,將svn工作副本切換指向新服務(wù)器,核心命令是

svn relocate

不同系統(tǒng)不同客戶端,操作大同小異,大家自行操作即可

最后可以測(cè)試一下提交svn能不能成功了

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容