2008-09-11 33 views
7

我跑進了一會兒的問題後,我從來沒有發現的...一個很好的解決方案從恢復稍顯落伍顛覆庫備份

假設你有一個工作拷貝修訂版7500從Subversion簽出,和持有當前存儲庫的磁盤死亡。例如,版本7450有一個備份庫。恢復存儲庫備份很容易,但是任何試圖對其使用工作副本的嘗試都會提示錯誤,指出存儲庫中不存在版本7500。

什麼是檢查一個巨大的修訂版本以便使存儲庫的內容與工作副本的內容相匹配並使其工作副本恢復到功能狀態的最佳方法?

(理想情況下,我想要一些比檢查全新工作副本更容易,然後手動複製所有文件 - 我認爲當時工作副本用於配置管理服務器,所以它是一個真正的痛苦,必須檢查乾淨的工作副本)

+0

看起來你的提交翻了一番,可能想要得到這一個! – ConroyP 2008-09-11 13:39:16

回答

6

您可以在某處檢出rev.7450拷貝,然後導出您的7500副本(刪除.svn文件夾)。將導出的副本(最新副本)拖到7450副本上。所有新文件都應該簡單地覆蓋舊文件,使.svn文件夾保持不變。

Subversion會認爲你只是做了一大堆的變化到7450,接下來將籤設置爲7451.

5

做一個新的結帳到一個不同的文件夾,然後使用diff程序來創建一個補丁。將補丁應用到您的新工作副本。

1

如果你是積極的,你已經有了目錄中的最新版本,那麼這樣做:

  1. 從倉庫中
  2. 刪除SVN引用刪除項目從您的副本
  3. 檢查你的代碼作爲一個新的副本。
  4. 看看你只是在
1

可以在缺失的修訂號通過加載轉儲文件裝滿了一堆空修訂版本的檢查代碼。有回答討論如何在How can I change the revision number of a repository做到這一點。以這種方式加載除一個版本以外的所有版本,然後您可以在最後一個巨版中檢入所有更改。