2012-05-28 169 views
0

我試圖將我的Subversion回購遷移到Atlassian。 Atlassian要求導入的repo轉儲具有與每個項目鍵項目名稱相同的根目錄。假設我在Atlassian中的項目關鍵字是FOOBAR,那麼對於所有修訂,回購轉儲應該包含/ FOOBAR。它還應該包含主幹,分支和標籤子目錄。從Assembla遷移svn到Atlassian

要改寫Assembla SVN轉儲,我這樣做:

cat foobar-assembla.dump | svn-dump-reloc "/" "FOOBAR" > foobar-atlassian.dump 

然後我試圖測試它:

svnadmin create test 
cat foobar-atlassian.dump | svnadmin load test 

所產生的錯誤信息:

svnadmin: File not found: transaction '0-0', path 'FOOBAR/trunk' 
* adding path : FOOBAR/trunk ... 

任何想法?

回答

0

對我下面的工作得到了這個提示。

使用的所有轉換選項文本編輯器關閉:

  1. Node-path: FOOBAR/trunk替換的Node-path: trunk所有實例。
  2. 在其中創建FOOBAR/trunk修改,手動,增加了FOOBAR/trunk創建FOOBARFOOBAR/branchesFOOBAR/tags的一個前立即添加一個條目。

我知道這可能不是在某些情況下工作,當一個文件本身內發生Node-path: trunk如。但它在這種情況下起作用,應該在其他大多數情況下工作。

1

我認爲這是因爲轉儲文件不包含任何會創建FOOBAR目錄本身的事務。

嘗試在svnadmin load test之前運行svn mkdir file://$PWD/test/FOOBAR

要給予信貸,這是因爲,我從http://dotslashstar.blogspot.com.au/2011/06/svn-hack-insert-missing-trunk-root.html

+0

+1:儘管我使用文本編輯器(nano)找到了我自己的方式,但我可以在**'svnadmin load'之前看到'svn mkdir' **如何工作。 –