2012-03-04 190 views
2

的情況下,它的歷史:。恢復SVN歷史記錄已刪除的目錄

R1)/項目/路徑中包含了很多的文件和目錄,原木

R2)/項目/路徑是一年前刪除。

R3。)通過添加替換爲/ project/path的本地副本。 (文件的40%不變,否則刪除),/項目/路徑具有

R4)過完年了很大的變化,原木


現在我們要恢復R1 + R4記錄歷史用於/ project /路徑中的文件。

是否有任何可能的方法來做到這一點?不幸的是,我還沒有找到辦法做到這一點。


UPDATE:

最終的結果應該是R4文件集,但與R1 + R4日誌。 目前我們需要在R1,R4中查看日誌。

+0

我的問題是要了解爲什麼你想恢復歷史結帳?歷史存在於SVN中,但它看起來像你想撤銷你所做的更改? – khmarbaise 2012-03-04 15:07:51

+0

不,我不想撤銷某些東西,需要歷史來跟蹤文件中的更改。 – MgDuke 2012-03-04 15:40:00

回答

0

首先,爲了簡化你的喜歡,你可以使用-r(修訂版)創建一個R2路徑的副本到一個新的位置:/ project/old_path。現在,您可以像處理其他分支一樣處理該路徑。

然後通過svn merge與R4合併,或者通過查看兩個版本的每個文件並添加/差異/合併所需內容來手動合併。

從svn的角度來看,來自R4的old_path目錄和path沒有任何其他兩條路徑相關得多。 svn無法知道應該使用兩個修訂版本的哪些部分。

您還可以使用與SVN合併-r directy:(http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.merge

如果您解釋更多的細節是什麼樣的合併,你想,你可能會得到一個更好的答案的效果。

+0

爲什麼你使用這樣一箇舊的文檔鏈接:http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.merge(這是更新的)。 – khmarbaise 2012-03-04 15:06:32

+0

誰說關於合併? – 2012-03-04 15:18:05

+0

@khmarbaise,確定。整個觀點是使用-r。目前還不清楚OP有什麼問題。 – 2012-03-04 15:34:05

0
svn help co 
checkout (co): Check out a working copy from a repository. 
usage: checkout URL[@REV]... [PATH] 

注意URL中的@REV - 因爲SVN是VCS(版本控制系統),它有關於任何和所有舊修訂版的數據。

如果R4是目前的狀態,您可以在任何新的位置舊的版本(R2-1),其中舊內容仍然存在