一千萬個為什麽

搜索

如何在不破壞任何內容的情況下替換SVN存儲庫中的目錄

我需要替換生產服務器上的SVN存儲庫中的目錄,但我不確定正確的方法來做到這一點而不會破壞任何東西。被替換的目錄是已經完全重構的第三方模塊修訂版,因此為了徹底升級,我需要刪除舊目錄/文件並替換為新目錄和文件。當我這樣做(使用svn delete)時,工作副本會受阻或處於阻止我將新的無版本目錄提交或添加到工作副本的狀態。我已經嘗試過svn update,svn cleanup,以及其他UI(TortoiseSVN和Cornerstone)修復它的快捷方式,但似乎無法讓事情重新同步 - 這是沒有回滾到以前的版本或簽出一個新副本。

我認為必須刪除本地工作副本和遠程repo上的目標目錄,更新工作副本,將新目錄添加到工作副本然後提交到repo;但我不確定我可能遺漏的細節或任何遺漏的步驟或細微之處。我正在升級的模塊對於站點應用程序非常重要,所以我需要在第一時間做到這一點 - 因為這是在生產服務器上進行的 - 並且必須快速完成。如果有人能夠清楚地繪制出步驟,我會非常感激。

最佳答案

為了使這更容易,您可以以創建單個“損壞”修訂的方式執行此操作,其中目錄不存在。

  1. svn up to get your working copy up to date
  2. svn delete to get rid of the current directory
  3. svn commit -m 'Deleted old module'
  4. Copy in the new directory to the working copy
  5. svn add to add your new directory structure
  6. svn commit -m 'Added new module'

This question has details about how to use "Vendor Branches", which may prove to be a better solution for your situation.

轉載註明原文: 如何在不破壞任何內容的情況下替換SVN存儲庫中的目錄