問題:由於需要整理svn上的資料,需要將倉庫a中的某個專案遷移到倉庫b中,同時需要保持該專案所有的修改記錄;
錯誤做法:①通過複製,那麼此時該項目的檔案只保留最新的版本;
②將專案縣checkout下來,再通過import匯入,那麼此時得到的是乙個新的專案,失去遷移的意義了。
前提:首先關閉兩台伺服器的svn所有服務,比如(apache、svn),以避免在進行遷移時又有其他的使用者訪問或修改。
備份和還原:1.
將servera
上的專案
pro1
所在的倉庫進行備份,使用命令:
svnadmin dumpoldrepos > reposdumpfile
示例:c:\programfiles\visualsvn server\bin>svnadmin dump f:\repositories\document>f:\documentdumpfile
2.如果需要將server a上repos1中的所有專案遷移到server2上,則將reposdumpfile檔案直接拷貝到server2上,然後轉到 步驟4;
3.如果我們只需要
repos1
倉庫中的
pro1
則我們需還要對
reposdumpfile
檔案進行過濾,命令如下:
svndumpfilter includepro1 < reposdumpfile< pro1dumpfile
示例:c:\programfiles\visualsvn server\bin>svndumpfilter include 醫療專案/中醫藥大學附屬醫院體檢中心資訊管理系統< g:\documentdumpfile > g:\pro1dumpfile
4.在server2
上執行如下命令,則完成了專案的遷移;(
只能針對整個庫,不能單獨放下某個資料夾下面,可以建立相同名稱父目錄
,會自動放到該父目錄下面
)svnadmin loadnewrepos < pro1dumpfile
示例:c:\programfiles\visualsvn server\bin>svnadmin load g:\repositories\project
可能會出現的問題:
<<< startednew transaction, based on original revision 1
* adding path : 建設廳專案/誠信平台 ...svnadmin:e160013: file not found: transaction '1274-ze', path '/建設廳專案/誠信平台'
首先需要建立乙個同名資料夾如
"建設廳專案
" "醫療專案
"(需要匯入目錄的父目錄
),否則會出現如上問題
Linux 伺服器上配置多個svn倉庫
1 在指定目錄建立倉庫儲存總目錄,本文示例目錄設定為 usr local svn svnrepos 2 在總目錄中建立兩個倉庫的資料夾,以及使用命令建立版本庫 mkdir p usr local svn svnrepos warehouse1 mkdir p usr local svn svnrep...
linux伺服器上配置多個svn倉庫
mkdir p usr local svn svnrepos2 在總目錄中建立兩個倉庫的資料夾,以及使用命令建立版本庫 mkdir p usr local svn svnrepos warehouse1 mkdir p usr local svn svnrepos warehouse2 svnadm...
伺服器上搭建svn
linux系統 centos 安裝步驟如下 1 yum install subversion 2 輸入rpm ql subversion檢視安裝位置,如下圖 可以看到 svn在bin目錄下生成了幾個二進位制檔案。再輸入 usr bin svnversion version 就可以檢視svn的版本,這...