SVN服務器切換方法:
更換SVN(Subversion)服務器通常包括以下幾個步驟:備份數據启涯、配置新服務器困肩、遷移數據整陌、測試新環(huán)境拗窃,以及將用戶切換到新服務器瞎领。
以下是一個詳細的遷移方案1:
- 配置新服務器
在新服務器上安裝和配置SVN服務。確保新服務器的操作系統(tǒng)和軟件環(huán)境滿足SVN的運行需求随夸。
- SVN安裝:
yum install subversion
- 數據同步:
由于SVN數量量較大,這個方案可以慢慢傳,且不影響源庫使用.
更改鉤子命令: pre-revprop-change(因為svnsync要改這個庫的屬性九默,也就是要將源庫的屬性備份到這個庫,所以要啟用這個腳本):
cd /path/to/repository/hooks;
cp pre-revprop-change.tmpl pre-revprop-change;
chmod 755 pre-revprop-change;
vi pre-revprop-change;
#將該腳本后面的三句注釋掉宾毒,或者干脆將它弄成一個空文件驼修。 即:
# if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
# echo "Changing revision properties other than svn:log is prohibited" >&2
# exit 1
初始化同步: | 命令解釋: svnsync init SVN備份倉庫 SVN源數據倉庫
svnsync init svn://10.0.1.48:33690/ svn://10.0.1.24:23690/
執(zhí)行備份: | 執(zhí)行此命令后才正式開始備份
svnsync sync svn://10.0.1.48:33690/
同步配置:
同步源SVN服務器的配置文件,如svnserve.conf诈铛、passwd和authz乙各,以保留用戶和權限設置。測試新服務器
在新服務器上測試存儲庫的訪問和功能癌瘾。
連接測試:
確保能夠通過SVN客戶端連接到新服務器觅丰,并能夠執(zhí)行常見的操作(如checkout、commit妨退、update等)妇萄。權限測試:
檢查用戶權限設置是否正確,確保不同用戶可以訪問他們被授權的部分
- 更改新SVN服務器UUID為舊服務器UUID:
SVN服務器的UUID是SVN服務器的唯一標識符咬荷,用戶數據同步,都會驗證該值冠句。
查詢舊SVN服務器UUID:
svn info svn://10.0.1.24:23690/
更改新SVN服務器UUID(未填參數自動新的UUID):
svnadmin setuuid /path/to/repository NEW_UUID
- 切換用戶到新服務器
一旦確認新服務器正常運行,可以將用戶切換到新服務器, 舊服務器下線(避免有用戶忘了切換導致數據提交到舊服務器)幸乒。
更新SVN客戶端配置:
告知所有用戶新服務器的地址懦底,并指導他們如何更新他們的SVN客戶端配置。
- 進入工作目錄:
打開包含SVN工作副本的文件夾罕扎。 -
選擇Relocate選項:
右鍵點擊該文件夾聚唐,在彈出的菜單中選擇“TortoiseSVN” -> “Relocate…”(或選擇中文的“重定位”)。
-
輸入新的SVN服務器地址:
在彈出的“Relocate”對話框中腔召,將“To URL:”字段中的舊SVN服務器地址更改為新的SVN服務器地址杆查。確保路徑的其他部分(如倉庫名稱、分支/標簽名等)保持不變臀蛛。
以下是一個詳細的遷移方案2:
- 備份現有SVN服務器數據
確保所有的數據和配置都得到備份亲桦,以防遷移過程中出現問題。
- 備份存儲庫:
使用svnadmin dump命令導出所有存儲庫浊仆。
svnadmin dump /path/to/repository > repository.dump
這將創(chuàng)建一個包含存儲庫完整歷史的轉儲文件客峭。
- 備份配置文件:
備份SVN服務器的配置文件,如svnserve.conf抡柿、passwd和authz舔琅,以保留用戶和權限設置。
- 配置新服務器
在新服務器上安裝和配置SVN服務沙绝。確保新服務器的操作系統(tǒng)和軟件環(huán)境滿足SVN的運行需求搏明。
- 恢復數據到新服務器
將備份的數據導入到新服務器鼠锈。
- 創(chuàng)建新的存儲庫:
使用svnadmin create命令在新服務器上創(chuàng)建存儲庫。
svnadmin create /path/to/new/repository
- 導入數據:
使用svnadmin load命令將轉儲文件導入到新存儲庫星著。
svnadmin load /path/to/new/repository < repository.dump
- 恢復配置文件:
將備份的配置文件復制到新存儲庫的適當位置购笆。
- 測試新服務器
在新服務器上測試存儲庫的訪問和功能。
連接測試:
確保能夠通過SVN客戶端連接到新服務器虚循,并能夠執(zhí)行常見的操作(如checkout同欠、commit、update等)横缔。權限測試:
檢查用戶權限設置是否正確铺遂,確保不同用戶可以訪問他們被授權的部分
- 切換用戶到新服務器
一旦確認新服務器正常運行,可以將用戶切換到新服務器, 舊服務器下線(避免有用戶忘了切換導致數據提交到舊服務器)茎刚。
更新SVN客戶端配置:
告知所有用戶新服務器的地址襟锐,并指導他們如何更新他們的SVN客戶端配置。
- 進入工作目錄:
打開包含SVN工作副本的文件夾膛锭。 -
選擇Relocate選項:
右鍵點擊該文件夾粮坞,在彈出的菜單中選擇“TortoiseSVN” -> “Relocate…”(或選擇中文的“重定位”)。
-
輸入新的SVN服務器地址:
在彈出的“Relocate”對話框中初狰,將“To URL:”字段中的舊SVN服務器地址更改為新的SVN服務器地址莫杈。確保路徑的其他部分(如倉庫名稱、分支/標簽名等)保持不變奢入。