差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

下次修改
前次修改
tech:subversion_fix [2008/01/31 18:32] – 建立 jonathantech:subversion_fix [2021/01/16 14:51] (目前版本) – 更換 Plugin jonathan
行 1: 行 1:
 +====== 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 密技}}