這幾天有這樣乙個問題,現在有乙份**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端執行的。
1234567
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這個時候,需要給reposb新建乙個dirb資料夾:file
notfound
:transaction
'1-1'
,path
'diraa/dirb/code'
123
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
1234
...然後,code資料夾現在在reposb/diraa/dirb/code/這個路徑,可以使用svn mv在客戶端移動目錄*adding path
:diraa
/dirb
/code
...done.*
adding path
:diraa
/dirb
/code
/filea
...done
....
1
svn mv這樣就把reposa/dirb/code/轉移到了reposb/diraa/code/,並且保留了相應的提交日誌,目標達成。/path/to
/reposb
/diraa
/dirb
/code//
path/to
/reposb
/diraa
/
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...