顯示頁面舊版反向連結Fold/unfold all回到頁頂 本頁是唯讀的,您可以看到原始碼,但不能更動它。您如果覺得它不應被鎖上,請詢問管理員。 ====== Subversion 備份匯入後與實際工作版本整合作法 ====== <style box background> 當 Subversion 的主機掛了之後,在找出之前定期匯出的備份檔案匯入重建的 Subversion Server 後,發現在工作版本執行更新時出現 **No such revision xxxx** 的錯誤訊息時所執行的解決作法. </quote> \\ <style box float-left> <ditaa name=exp> +------+ +-------+ |{s} | |{s} | | SVN | | SVN | | |<---|cPNK | |Server| |Working| |(2247)| |(2332) | +------+ +-------+ ^ \ +-------+ +--=--->|{s} | | SVN | |cGRE | |Working| |(2248) | +-------+ </ditaa> </quote> * 主要的問題在於匯入的備份資料少了實際工作版本的部份資料 Exp. 匯入的版本是 2247 但是實際工作的版本已經是 2332 * 目標是將工作區的資料改成 2247 然後將現在的 2332 版本與之後異動過的資料加入 commit 成為 2248 * 在工作資料區針對 svn update 或 commit 出現這錯誤的目錄進行以下的程序 ++Exp. /data/webdav |<code> [root@www webdav]# pwd /data/webdav [root@www webdav]# svn update svn: REPORT 要求於 '/repos/servercfg/!svn/vcc/default' 的失敗 svn: No such revision 2285 [root@www webdav]# svn info 路徑: . URL: http://192.168.11.250/repos/servercfg/P4-2800/data/webdav 修訂版: 848 節點種類: 目錄 排程: 正常 最後更新作者: jonathan 最後修改修訂版: 848 最後修改日期: 2007-10-22 00:16:13 +0800 (一, 22 10月 2007) </code>++ - 執行 svn checkout 到工作暫存目錄 /tmp/webdav ++語法|<code> svn co http://192.168.11.250/repos/servercfg/P4-2800/data/webdav /tmp/webdav </code>++ - 執行 svn export 強制匯出現有工作版本到工作暫存目錄 /tmp/webdav ++語法|<code> svn export --force /data/webdav /tmp/webdav </code>++ - 執行 cp -a 將 .svn 相關版本控制檔案與最新版檔案蓋回現有目錄 ++語法|<code> cp -a /tmp/webdav /data/ </code>++ - 如果需要要將權限改正 Exp. 檔案所有者應該為 apache 就要改回 apache ++語法|<code> chown -R apache:apache /data/webdav </code>++ - 執行 svn commit 將整合修正版本上傳 ++語法|<code> svn ci -m "Fix SVN version" /data/webdav </code>++ ===== 參考資料 ===== * http://www.robgonda.com/blog/index.cfm/2007/10/19/SVN-PROPFIND-request-failed--No-Such-Revision {{tag>SVN Subversion 密技}} tech/subversion_fix.txt 上一次變更: 2021/01/16 14:51由 jonathan