svn伺服器上不同倉庫下的專案遷移並保持歷史記錄

2021-06-20 21:21:19 字數 1498 閱讀 6682

問題:由於需要整理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的版本,這...