我在svn存儲庫中有代碼,稱之爲存儲庫A.現在說我需要將內容移動到存儲庫B,但存儲庫B已經在其他項目中處於活動狀態。是否可以將特定目錄從存儲庫A移動到存儲庫B,保留文件歷史記錄?通常情況下,遷移整個倉庫到新的服務器,我會做:將目錄遷移到不同的svn存儲庫
svnadmin dump -r 0:179 rep_a > rep_a.dump
svnadmin create rep_b
svnadmin load rep_b < rep_a.dump
然而,這種作用在整個倉庫,並假定庫B是空的,(我認爲)開始。我當然可以導出有問題的目錄並將其導入到存儲庫B中,但是我失去了版本歷史記錄。
是否有一種簡單的方法將特定目錄從A移動到B而不會丟失版本歷史?
謝謝!所以我認爲目錄的路徑是相同的,所以rep_a上的trunk/project變成了rep_b上的trunk/project?以防萬一,在遷移過程中是否有簡單的方法來改變路徑?因此,例如干線/項目變成幹線進口/項目? – astrofrog 2009-10-04 14:54:28
有一個選項'svnadmin load --parent-dir'。如果你需要更復雜的東西,我建議你看看這個舊的Perl腳本(如果你有一個Perl解釋器):http://www.coelho.net/svn-merge-repos.html。 Python中還有一個,但我從來沒有使用它,除了做一些簡單的測試:http://www.orcaware.com/svn/wiki/Svnmerge.py – RedGlyph 2009-10-04 15:46:03
這是否與存儲庫是死的工作?你可以檢查和迴應這裏http://stackoverflow.com/questions/24523774/importing-older-code-with-revision-history-to-a-new-svn-repository – Krunal 2014-07-05 03:31:30