2009-11-04 80 views
3

我使用tortoiseSVN創建了一個本地存儲庫。 現在我想將存儲庫遷移到我的DreamHost帳戶。如何將較新的SVN存儲庫遷移到較舊的版本?

我移動了文件,但似乎DreamHost正在使用舊版本的SVN

,當我發出命令

svnadmin load 'repository dir' 

它吐出回

svnadmin的:預期財政司司長格式 '2'; 找到的格式'4'

解決方案?

回答

5

編輯:你的消息是由於您已經創建與版本的服務器的目標資源庫,然後試圖用舊的版本svnadmin加載轉儲。請閱讀下面的正確程序。


我不明白的svnadmin load部分,你有svnadmin dump創建轉儲文件之前?這是通過不同版本移植版本庫的最佳選擇,通常格式不應改變。

所以,你應該做的,利用原有的資源庫(最新的SVN版本)版本:

svnadmin dump <repos_path> > dump_file 

,並在目標服務器上(最老的SVN版本):

svnadmin create <newrepos_path> 
svnadmin load <newrepos_path> < dump_file 

您可能希望在轉儲中使用--deltas選項,因爲這些轉儲可能會非常大。

如果這就是你做了什麼,它失敗了,你可以確定各自的版本,並提供一些更多的細節?

2

如果傾銷不工作,你也可以嘗試svnsync的將內容遷移到新的存儲庫: 創建您的Dreamhost的庫之後,創建一個簡單的前版本屬性,改變鉤剛剛退出0 ,使propchanges:

#!/bin/sh 
exit 0 

此之後,你就可以開始:

svnsync init [DREAMHOST_URL] [OWN_REPO_URL] 

svnsync sync [DREAMHOST_URL] 

然後,所有的修改將流向新reposit ory ..

+0

根據SVN文檔,從版本1.0開始應該不存在回退兼容性問題,儘管我從未嘗試過。但是OP的描述中的'4'很奇怪,從他們給出的命令中並不清楚究竟做了什麼......我希望有某種回覆(ref dump:http://svnbook.red- bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate) – RedGlyph 2009-11-04 20:51:47

+0

轉儲格式更改超時。所以一個svn 1.1客戶端無法理解svn 1.6客戶端的轉儲格式。這正是他報告的問題 – 2009-11-04 21:26:58

+1

實際上,我幾乎可以肯定,他報告的是svnadmin「舊版本」將sdnadmin「new version」創建的存儲庫加載到某個存儲庫失敗。我以前應該看到過。我已經做了從1.6 - > 1.4的轉儲快速遷移測試,它的作用就像一個魅力:-) – RedGlyph 2009-11-04 21:57:37

相關問題