我正在嘗試使用svnadmin dump
來遷移SVN存儲庫的一部分。如何使用依賴關係導出SVN存儲庫的一部分?
提供的svndumpfilter工具不管理複製/移動/重命名從未包含在導出中的目錄的依賴關係。
有沒有可以管理這些依賴關係的工具?
我正在嘗試使用svnadmin dump
來遷移SVN存儲庫的一部分。如何使用依賴關係導出SVN存儲庫的一部分?
提供的svndumpfilter工具不管理複製/移動/重命名從未包含在導出中的目錄的依賴關係。
有沒有可以管理這些依賴關係的工具?
我發現了Simon Tatham的一個Python腳本,名爲svndumpfilter2,它嘗試應對簡單的依賴關係(儘管我發現了一些限制)。
您還可以檢查一個article關於他向Subversion的遷移和腳本的動機。
有了依賴關係,你指的是由屬性svn:external?指定的依賴項。
如果是的話,我認爲你應該傳遞給svndumpfilter也路徑引用屬性。 例如,如果你的項目是在http://host/project
和SVN:外部屬性設置爲http://host/dependencies
你可以像
svndumpfilter include http://host/project http://host/dependencies <total.dump> project.dump
東西你無法擺脫這個問題。如果您複製了一個目錄/文件,則必須將(源和目標)都包含在svndumpfilter中。
但是,你可以做一些技巧:
如果你傾倒從版本0的倉庫,而是說如從版本100開始,您將得到一個修訂版1-100消失的新版本庫。但是,您的目標存儲庫包含版本1中的所有文件/文件夾,作爲修訂版本100中的源存儲庫。以這種方式,您可以擺脫版本化數據而不會丟失HEAD修訂版。
您可以嘗試轉儲/加載您的源存儲庫,直到您第一次複製到「平面」存儲庫,然後將其餘轉儲添加到它。通過這種方式,您可以跳過麻煩的從版本複製版本,因爲您的文件已經在配件(目的地)目錄中。
這是一個古老的答案,但你能記住你用`svndumpfiler2`找到的限制嗎? – Craig 2012-11-22 12:30:58