使用者工具

網站工具


tech:subversion_fix

Subversion 備份匯入後與實際工作版本整合作法

當 Subversion 的主機掛了之後,在找出之前定期匯出的備份檔案匯入重建的 Subversion Server 後,發現在工作版本執行更新時出現 No such revision xxxx 的錯誤訊息時所執行的解決作法.


  • 主要的問題在於匯入的備份資料少了實際工作版本的部份資料 Exp. 匯入的版本是 2247 但是實際工作的版本已經是 2332
  • 目標是將工作區的資料改成 2247 然後將現在的 2332 版本與之後異動過的資料加入 commit 成為 2248
  • 在工作資料區針對 svn update 或 commit 出現這錯誤的目錄進行以下的程序 Exp. /data/webdav
    1. 執行 svn checkout 到工作暫存目錄 /tmp/webdav 語法
    2. 執行 svn export 強制匯出現有工作版本到工作暫存目錄 /tmp/webdav 語法
    3. 執行 cp -a 將 .svn 相關版本控制檔案與最新版檔案蓋回現有目錄 語法
    4. 如果需要要將權限改正 Exp. 檔案所有者應該為 apache 就要改回 apache 語法
    5. 執行 svn commit 將整合修正版本上傳 語法

參考資料

tech/subversion_fix.txt · 上一次變更: 2009/03/03 00:57 由 jonathan