VisualSVN Server倉庫遷移到Linux(包含全部版本, 權限,用戶信息)

公司開發服務器從Windows換成CentOS,因此要把原服務都轉移到Linux下,MySQL、SMB的遷移都很順利,可是SVN的轉移卻遇到了些問題,花費了三天時間,走了很多彎路,如今總算解決了SVN遷移問題,記錄下: linux

在Windows上咱們是用VisualSVN Server做SVN服務的,Linux上是編譯安裝的subversion 1.7.7。
Windows 的SVN倉庫在E:\SVNRepositories,Linux在 /data/svnrepos 服務器

第1步,導出VisualSVN倉庫:svnadmin dump E:\SVNRepositories\repo1 E:\repo1.dump svn

第2步,在Linux端create相同名稱的倉庫: svnadmin create /data/svnrepos/repo1 spa

第3步,在Linux端load Windows導出的庫:
            cd /data/svnrepos
            svnadmin load repo1 < repo1.dump
開發

到此爲止,repo1庫就導入到Linux的subversion中了,可是用戶信息、權限信息還沒導入(這也是我折騰好久的問題),繼續: get

第4步,把E:\SVNRepositories\authz 上傳到 /data/svnrepos
            把E:\SVNRepositories\htpasswd 複製爲 passwd 並修改後上傳到 /data/svnrepos
            修改後的passwd格式以下(其實就是用戶名 = 密碼):
             [users]
             user1 = 123
             user2 = 456
it

第5步,修改倉庫的/conf/svnserve.conf,使它指向第4步上傳的那兩個文件:
            [general]
            anon-access = none
            auth-access = write
            password-db = ../../passwd
            authz-db = ../../authz io

到這裏就完成了,用命令  svnserve -d -r  /data/svnrepos/ 啓動subversion服務。 編譯

  • 這樣作還有個問題是passwd文件原密碼信息全丟失了,知道解決方法的請留言告訴我:)

  • 我只用了repo1這個倉庫,若是有多個倉庫同樣步驟,分別導出導入,並修改倉庫的/conf/svnserve.conf
  • 若是按照上述方法操做仍是不行,啓動svnserve時用  --log-file ./log.txt參數查看錯誤信息
相關文章
相關標籤/搜索