1. 程式人生 > 實用技巧 >SVN伺服器從Windows遷移到LInux

SVN伺服器從Windows遷移到LInux

>>> hot3.png

gerui

2013.9.14

[email protected]

一、備份VisualSVN專案

1. 現在要使用Linux作為svn伺服器,之前是在windows Server 2008上的,用的是VisualSVN, 如下圖所示。

clip_image002

2. 現在svn中有一個專案fpp,需要將fpp這個專案匯出到linux環境下。執行cmd,輸入命令 svnadmin dump E:\Repositories\fpp > e:\svnbak\fpp.dump將專案匯出到e:\svnbak目錄下。執行結果如下:

clip_image004

3. 可見命令會匯出每個版本的詳細資訊,保證了之前的歷史資訊不會丟失。現在我們便得出備份檔案fpp.dump,如下:

clip_image006

4. 利用批處理實現專案的批量匯出,編寫svnbak.bat, 雙擊執行,會一次性匯出所有專案,結果如下圖:

clip_image008

二、上傳備份檔案到Linux

1. 利用ftp, ssh等工具將fpp.dump檔案傳輸到Linux伺服器上,這裡利用直接利用openSSH這個軟體上傳。如圖,檔案上傳成功,檔案的路徑為/root/fpp.dump。

clip_image010

三、Linux下SVN的安裝與配置

1. Linux下安裝svn,這裡直接利用yum命令進行安裝。yum install subversion完成subversion的安裝。

2. 建立版本庫目錄svndata。

mkdir /svndata

svnserve -d -r /svndata #啟動svn,設定版本庫目錄為/svndata

killall svnserve #關閉svn

3. 建立專案庫

svnadmin create /svndata/fpp

4. 配置使用者訪問許可權

cd /svndata/fpp/conf

vi svnserve.conf

釋放如下幾行的註釋

anon-access=none

auth-access=write

password-db=passwd

5. 增加訪問使用者,格式為(username = password),等號兩邊要加空格,否則無效。如下圖,沒有加空格,就一直沒用:

clip_image012

6. svn的命令這裡不作介紹,大家自己去學習使用。

四、匯入備份檔案

1. 輸入命令:svnadmin load /svndata/fpp < /root/fpp.dump,執行結果如下:

clip_image014

2. 為了避免逐個匯入專案,所以寫了一個shell指令碼,進行批量匯入,遍歷備份目錄下所有*.dump檔案,併產生相應的匯入命令,15個專案,花了10分鐘左右完成匯入,指令碼如下:clip_image016

五、客戶端進行程式碼的檢出

1.windows端安裝TortoiseSVN, 右鍵svn checkout

clip_image018

2. 在開啟的對話方塊中,輸入svn庫的地址,確定便可以同步專案。地址如下,ip地址加專案名稱,如圖:

clip_image019

3. svn提示檢出成功,在目錄下可以找到檢出的專案。

clip_image021

4. 對於以前的專案,重定向到新的svn伺服器,右鍵->TortoiseSVN->Relocate,在彈出的對話方塊中填寫新的地址,TortoiseSVN會提示修改成功,之後,就可以使用新的svn了。

clip_image023

clip_image024

5. 如果你是使用eclipse中的subeclipse的外掛,首先開啟svn資源庫檢視,然後選擇你的專案,右鍵選擇重定向,填入新的svn地址。

clip_image025

6. linux下若使用svn命令的話,形式如下:

svn switch --relocate (Old Repository Root) (New Repository Root)

轉載於:https://my.oschina.net/grnick/blog/161424