我有一個很大的、舊的 svn 儲存庫工作副本,我很久以前就簽出了它。我想匯出並保存它並保留目錄結構。
隨著時間的推移,我刪除了大部分不需要的子目錄和各個層級的檔案。我想使用 導出其餘部分svn export
。
但是,由於以下錯誤,導出未完成而停止:
svn: Can't stat 'WSN/Somedir': No such file or directory
svn update
由於以下原因,我想避免:
- 儲存庫已舊且不再提供服務
- 即使它是在線的,丟失的目錄也有很多千兆字節,我寧願不花時間和空間下載。
我知道的一種解決方案是複製整個樹並運行遞歸刪除命令來刪除所有“.svn”目錄。
但是,是否有一種更乾淨的方法來要求svn
導出忽略丟失的檔案和目錄?
答案1
如果運行svn status
,您將獲得丟失資產的清單。它們用字元表示!
;例如:
$ svn status
? default.cfg
! models
在此範例中,models
資料夾已被刪除,因此標有!
.
要解決此問題,您需要使用svn rm
;刪除這些遺失的資料夾。在示例中這將是:
$ svn rm models
D models
D models/model1.png
D models/model2.png
然後提交,然後匯出應該可以工作。
答案2
或者您可以只還原該子目錄。透過將目錄變更為要還原的資料夾來執行此操作,這樣就不會還原錯誤的內容。然後輸入:
svn 恢復 -R 。
現在您可以根據需要更新和匯出。