2009-12-10 89 views
0

我有一個特定的問題。我將如何導入導出的SVN回購? 我已經閱讀了幾處附近的導入/導出問題,但我的案例更具體。我得到的是一個導出的SVN回購(與我的項目的來源),現在我需要再次導入它。我會怎麼做?導入導出SVN

+0

你還有權訪問舊版本庫嗎? – 2009-12-10 12:40:14

+1

不知道我理解這個問題。如果已導出,所有SVN特定文件將被刪除。您可以像使用其他源代碼一樣創建一個新的存儲庫。 – 2009-12-10 14:19:58

+0

那最後的評論(尼爾)解決了這個問題。 – Zlatko 2009-12-11 12:37:09

回答

2

我認爲Dave對於export這個詞的含義存在混淆,但似乎對他的答案中涉及的命令有些困惑。

如果你有,你看到的樣子在你的項目中的源文件中的文件,並且沒有.svn子目錄的目錄結構,你有一個svn export ...命令的結果,而你沒有任何資料庫歷史記錄,您只有項目快照。在這種情況下,您可以使用svnadmin create ...命令在新服務器上創建一個新的Subversion回購,然後使用svn import ....將該快照提交到新的存儲庫中。

如果你有一個單獨的文件,裏面有很多東西,看起來它有很多其他東西混入了源代碼的一部分,那麼你就得到了所謂的「轉儲文件」。此轉儲文件包含您的項目,包括該項目的所有歷史記錄。在這種情況下,您使用svnadmin create ...創建新的存儲庫,然後使用svnadmin load ...命令將數據加載到存儲庫。

之後,你會想用svn co ...檢出一個工作拷貝,然後可以在發展。

如果你得到了什麼是該項目的一個快照,我會鼓勵你回去給他們,並嘗試獲取轉儲文件,而不是...源代碼管理歷史很有價值。

+0

+1我更新了我的回覆來修復我的錯誤,謝謝@retractile – Upgradingdave 2009-12-10 21:14:53

+0

我對svn遷移非常陌生,現在正在努力應對。這是服務器上最後的'svn co'部分嗎?我認爲你的意思是服務器操作完成後,用戶必須簽出本地工作副本,不是嗎? – Montag451 2014-04-09 11:48:53

+0

Enmos:'svn co'用於檢出工作副本,您將在其中進行開發,而不是服務器。 – retracile 2014-04-09 19:03:54

0

如果您仍然可以訪問舊存儲庫,則可以使用svnadmin dump導出,並使用svnadmin load將其導入,如in this post更詳細描述的那樣。

+0

我不知道,我剛剛出口。 – Zlatko 2009-12-10 13:18:38

1

如果您不能’有權訪問舊的存儲庫,那麼文件從另一個存儲庫導出的事實是無關緊要的。只需import他們就像你想把任何其他文件放入Subversion一樣。您不會有任何舊的存儲庫’的歷史。

1

我認爲這裏的「出口」之間存在混淆。

在svn世界中,「導出」意味着複製一個目錄結構並刪除所有suversion元數據(.svn目錄和文件)。如果你收到了這種導出,那麼你有一個完全獨立於Subversion的目錄結構(它不再受svn控制)。所以你需要將這個dir結構添加到svn中,就像創建一個帶有文件的全新目錄一樣,並且需要將這些目錄提交給subversion

在svn世界之外,「export」有時意味着創建一個完整備份。在svn中,使用svnadmin dump命令可以創建整個存儲庫的完整備份。如果這是您收到的出口類型,那麼您可能只有一個"dump file"。爲了恢復轉儲文件,請使用svnadmin load將其恢復到Subversion存儲庫。更具體地說,您需要將導出副本上載到託管Subversion存儲庫的計算機上,然後執行svnadmin load。然後,您可以像平常一樣查看目錄和文件。

希望有所幫助。

+0

謝謝,@retractile,我得到了混淆的命令並糾正它們。 – Upgradingdave 2009-12-10 21:14:17