SVN跨版本庫遷移目錄並保留提交日誌

2021-06-27 16:46:33 字數 2280 閱讀 2716

這幾天有這樣乙個問題,現在有乙份**code在版本庫reposa/dirb/下,現在想把它移動到reposb/diraa/下,本來打算交給sa做,沒想到sa似乎也不太懂的樣子。於是,自己在vps搭建了乙個svnserver,然後在網上查了一下資料,確實沒有明確的攻略,不過,綜合一下,卻也解決了問題。

需要達到的目的是:

1. 將**移動到新的版本庫

2. 將原始的提交記錄保留

版本庫的結構如下,有reposa和reposb這兩個版本庫,然後紅色的reposa/dirb/code就是需要移動的**目錄。本來打算用svn move來做的,後來發現因為是不同的版本庫,所以這個想法被淘汰了。於是就要在server上想辦法了,svnadmin有兩個引數dump和load可以將版本庫提取出來/載入進去,還有命令svndumpfilter可以過濾某些不想要/只想要的目錄,這些就足以達到目的了。

版本庫的結構如下,要將code移動到reposb/diraa下邊:

於是,要開始嘍

注意,svn命令是在svn client端執行的,svnadmin svnserver svndumpfilter都是在svn server端執行的。

123

4567

891011

1213

14

#進入svn版本庫目錄cd/

opt/

svndata ls

#reposa reposb

#將reposa匯出到乙個檔案中

svnadmin

dump

reposa

/>f1 

#將reposa中的code過濾出來,svndumpfilter include表示只保留制定的目錄和檔案

svndumpfilter

include dirb

/code

<

f1 >f2 

#將dumpfile2匯入相應的目錄,也就是reposb/diraa/,用parent-dir來指定

svnadmin

load reposb

--parent

-dir

diraa

<

f2

這個時候會有提示說

1

svnadmin

:file

notfound

:transaction

'1-1'

,path

'diraa/dirb/code'

這個時候,需要給reposb新建乙個dirb資料夾

1

23

mkdir

/path/to

/reposb

/diraa

/dirb

svn add

/path/to

/reposb

/diraa

/dirb

svn ci-m

"新增臨時資料夾"

/path/to

/reposb

/diraa

/dirb

再次執行命令

1

svnadmin

load reposb

--parent

-dir

diraa

<

f2

就會得到

123

4

...

*adding path

:diraa

/dirb

/code

...done.*

adding path

:diraa

/dirb

/code

/filea

...done

....

然後,code資料夾現在在reposb/diraa/dirb/code/這個路徑,可以使用svn mv在客戶端移動目錄

1

svn mv

/path/to

/reposb

/diraa

/dirb

/code//

path/to

/reposb

/diraa

/

這樣就把reposa/dirb/code/轉移到了reposb/diraa/code/,並且保留了相應的提交日誌,目標達成。

SVN跨版本庫遷移目錄並保留提交日誌

現在有乙份 code在版本庫reposa dirb 下,現在想把它移動到reposb diraa 下,本來打算交給sa做,沒想到sa似乎 也不太懂的樣子。於是,自己在vps搭建了乙個svnserver,然後在網上查了一下資料,確實沒有明確的攻略,不過,綜合一下,卻也解決了問題。需要達到的目的是 1....

SVN 版本庫遷移

當因為記憶體限制或者其他某些原因,我們需要將svn版本從乙個伺服器a遷移到另外乙個伺服器b時,如果我們單純的只是將svn版本從伺服器a check out後將檔案重新放到伺服器b,將會缺失svn原有的日誌資訊等內容。linux環境下svn伺服器的安裝方式請參考 當我們需要保留原伺服器上所有的svn日...

SVN版本庫的遷移

兩台伺服器,進行 svn的遷移 系統平台 windows server 2003 版本庫 test 源伺服器 192.168.1.14 目標伺服器 192.168.1.12 源svn版本庫的 path d svn test 要遷移到的 path e svn test 首先說明 這個目標伺服器上的sv...