subversion多版本庫及導入導出相關遷移
subversion在實際項目研發中被大量的應用,但是往往在實際的環境中大多數的人還僅僅把SVN僅用於創建一個SVN庫,當然在subversion也是支持一個SVN服務多個版本庫的,最近剛剛好在做SVN的跨系統平臺遷移工作,就此就簡單的說一說SVN的跨平臺系統遷移。
首先需要說的的SVN無論是在哪個系統平臺上,無非就2種,分別是VisualSVN和subversion,當然無論是使用哪種SVN的版本控制工具在實際上我們還是使用二者的二進制文件,無非是二者的二進制文件的使用參數不同而已。二者之間唯一的區別是VisualSVN多應用於Windows系統中,因為VisualSVN中已經封裝相應https,所以在Windows下大家多用於VisualSVN以便於管理,而在Unix系統下,尤其是開源系統中則多用於subversion,則是因為開源系統中的鏡像中都有相應的安裝包,安裝使用方便快捷,所以無論使用哪種本質上都是一樣的,要註意的是在DOS系統中如果沒有加環境變量,需要到二進制文件的目錄下執行,且在DOS中二進制文件多為*.exe,所以SVN的版本導入及版本導出也很簡單:
DOS: svnadmin.exe dump D:\svndata\myrepos1 > D:\backup.dump #從版本庫中導出 svnadmin.exe load D:\svndata\myrepos1 < D:\backup.dump #導入版本庫 Unix: svnadmin dump /data/svndata/myrepos1 > /data/backup/backup.dump #從版本庫中導出 svnadmin load /data/svndata/myrepos1 < /data/backup/backup.dump #導入版本庫
註意的一點,通常SVN導出的資源很大,二者的導出的版本庫文件是可以通用的,但是在跨平臺傳輸的時候建議使用ftp的非二進制模式進行傳輸,以免造成數據的丟失。
SVN的多版本庫其實和單版本庫是一樣無非是在創建版本庫時多創建一個版本庫,多個版本庫可以使用不同的配置文件,如果是使用https就是在Apache下使用共同的密碼文件,關於如何創建SVN的版本庫以前有寫過,在此就不做過多的篇幅來說明,需要可以參看:http://jim123.blog.51cto.com/4763600/1943305,在單SVN多版本庫下其他區別中首先需要修改每個版本庫的svnserve.conf配置文件,在配置文件中需要寫上realm變量的路徑寫上在系統中實際路徑,如:
…略… realm=/data/svndata/myrepos1 …略… ----------------------------------------- …略… realm=/data/svndata/myrepos2 …略…
為便於管理建議把SVN的版本庫建在同一個目錄中,如:
svnadmin create /data/svndata/myrepos1 svnadmin create /data/svndata/myrepos2
最後在啟動的時候只要啟動最外一層目錄就可以了:
svnserve -d -r /data/svndata
這樣svn的2個URL就是
svn://IP/myrepos1 svn://IP/myrepos2
本文出自 “技術隨筆” 博客,謝絕轉載!
subversion多版本庫及導入導出相關遷移