SVN從win遷移到Linux上

來源:互聯網
上載者:User

標籤:系統/營運   Linux   

工作需要把SVN從win遷移到Linux上,花了幾天時間看資料搞定,簡單記錄一下:

公司用的SVN環境為 Windows server 2003 ,VisualSVN 2.1.5版本

1.dump出SVN資料並上傳到Linux

在Repositories處先匯出其項目名列表,然後編寫一個簡單的bat指令碼進行dump:

比如:

@echo off

svnadmin dump C:\Repositories\baijiu > C:/test/baijiu.dump

svnadmin dump C:\Repositories\BAS > C:/test/BAS.dump

把SVN資料備份dump檔案及authz和htpasswd檔案上傳到Linux

2.Linux安裝SVN

#yum install subversion? 安裝SVN

#mkdir /opt/svn/repositories 建立版本庫目錄

#svnserve –d –r /opt/svn/repositories 啟動SVN

#killall svnserve 關閉SVN

#svnadmin create /opt/svn/repos/baijiu? 建立要遷移的項目庫

#svnadmin create /opt/svn/repos/BAS

#vim /opt/svn/repos/baijiu/conf/svnserve.conf 配置使用者存取權限

-->?

??? anon-access = none
??? auth-access = write
??? authz-db = /opt/svn/authz
??? password-db = /opt/svn/passwd

匯入資料:

#svnadmin load /opt/svn/repos/baijiu < /home/oldsvnbak/baijiu.dump

#svnadmin load /opt/svn/repos/BAS < /home/oldsvnbak/BAS.dump

歸納以上步驟寫個指令碼進行SVN資料移轉:

#!/bin/sh
#svn migration
#2018-5-23
# [email protected]
#create and import svn-project

DIRECTORY_HOME="/home/oldsvnbak"??????? #存放dump檔案目錄
SVN_HOME="/opt/svn/repos"?????????????????????????? # 版本庫目錄

projects=`cat /home/mytmp/reposlist.txt`? #項目庫名列表

#create svn-Repositories
for project in $projects;
do
??? svnadmin create $SVN_HOME/$project
done

#reset svnserve.conf
find $SVN_HOME -name svnserve.conf -exec cp /home/mytmp/svnserve.conf {} \;

#import oldsvndata
for project in $projects;
do
??? echo "....start load $project ........................"
??? sleep 3
??? svnadmin load $SVN_HOME/$project < $DIRECTORY_HOME/$project.dump
??? echo "....end load ..................................."
??? sleep 3

done

編寫了一個SVN的重啟指令碼:

[[email protected] svn]# cat restartsvnserve.sh
#!/bin/sh
#restart the svn-serve
#2018-5-23
#[email protected]

#kill old serve
killall svnserve

#start new serve
svnserve -d -r /opt/svn/repos
[[email protected] svn]#

需要注意的坑:

從win上匯出的項目庫名列表,上傳到Linux會有編碼問題,會導致指令碼運行時報錯,說找不到庫名字

需要重新編寫項目庫名列表,在Linux上重新建立reposlist.txt檔案,複製粘貼即可!

SVN從win遷移到Linux上

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.