前一篇 今天升級 Subverison 1.1.3 忘了寫上後續了.
為什麼會有
subversion/libsvn_wc/entries.c:669: (apr_err=130003) svn: XML 剖析器無法處理 'apsfilter' subversion/libsvn_subr/xml.c:364: (apr_err=130003) svn: Malformed XML: not well-formed (invalid token) at line 32
的問題呢? 原因很簡單, 在 /etc/apsfilter 這個目錄裡, 有一個目錄的檔名是 epsonp710. 但是它並不像表面上看起來那麼簡單, 因為它實際上是 epsonph^H710. 沒錯, 裡面夾雜了一個倒退鍵 ^H, 於是在 .svn/entries 這個檔案裡, 在檔名的部份就多了一個 XML parser 不認得的控制字元.
據 sussman 表示, 檔名中是不可以有控制字元的, 所以它本來就不應該出現在那裡. Subversion 目前沒有對它作檢查, 未來會把這個東西加進去. 也就是說, 包含控制字元的檔名會讓 Subversion 汪汪叫.
我怎麼解決這個問題? 因為我在 import /etc 的時候, 把目標路徑打錯了. 如果它是一個獨立的目錄的話, 直接丟 URL 讓 Subversion 進行檔案庫動作, 把它砍掉得了. 但是匯入進去的目錄裡面已經有檔案存在, 本來打算進行相反的合併, 把該修訂版所作的動作中和回來. 在這些動作都沒辦法進行的情況下, 只能把檔案庫 dump 出來, 把匯入的修訂版丟掉, 再重新建一個檔案庫 load 回來.