2009-08-27 73 views
7

我知道如何使用這些指令恢復到一個文件夾的特定修訂恢復意外刪除的文件夾:如何在SVN倉庫

http://aralbalkan.com/1381

不過,我刪除整個文件夾,並希望得到該文件夾返回而無需還原存儲庫的其餘部分。

我試着重新創建文件夾,然後合併更改回來,但svn知道我的技巧,並意識到它是一個新的文件夾。

我該怎麼做?

回答

21

最簡單的方法可能是SVN複製你想要的樹,從那裏過去存在的修訂:

svn copy [email protected] dest 

Subversion Book瞭解詳情。

+0

這是否也複製修訂歷史記錄?我的意思是我可以瀏覽複製文件夾中的文件歷史記錄嗎? – 2009-08-31 22:02:21

+0

是 - 'svn copy'帶有歷史記錄的副本。 – Avi 2009-09-01 06:42:46

+0

酷提示!謝謝。 – 2010-10-06 03:59:14

0

你可以檢出一個新的工作副本,然後做一個你感興趣的文件夾的導出。一旦你導出了文件夾,它就不會有顛覆元數據。然後,您可以將該文件夾放入從其中刪除的工作副本。

祝你好運。

0

如果你重新創建文件夾後,犯下的變化有可能是你有同樣的問題,我有:

我失去了我的歷史記錄文件。然後我又svn deleted的文件夾,並做了

svn cp ^/path/to/[email protected] /path/to/directory 

,當我收到此錯誤:

svn: path "htttp://.../path/to/directory" not found for revision "revisionNumber". 

在這種情況下,你可以使用一個輔助文件夾(〜/ tmp目錄/)做一個

cd ~/tmp; svn co -r revisionNumber /path/to/directory 

它將創建包含所有文件的〜/ tmp/directory /文件夾。 假設,你刪除目錄的地方是/位置/的/我的/主幹/路徑/到/

,然後發出

cd location/of/my/trunk/path/; svn copy ~/tmp/directory/ to/ 
從路徑到路徑應該是在你的樹