svn diff 約 25 分鐘後返回 E175009
我正在嘗試將 SVN 儲存庫映射到 Fisheye/Crucible 以與程式碼審查功能一起使用。我遇到了 Fisheye 執行的命令之一的問題,但問題的根源似乎源於 SVN 伺服器。正在使用 VisualSVN Server 3.6.1,64 位。
svn diff --summarize -r 6427:6428 http://file2/svn/REPO/@6428
我在 SVN 伺服器上本地測試了相同的命令,但大約 25 分鐘後,文本流被中斷
svn: E175009: The XML response contains invalid XML svn: E130003: Malformed XML: no element found
我發現的此錯誤範例似乎表明在命令中輸入的 URL 不正確,但這似乎不適用於我的情況,因為最初大約有 110MB 的數據下降。
在命令執行時監視事件查看器會產生 3 個錯誤,但不會導致命令停止執行。隨後的重新執行每次都會導致相同的 3 個錯誤。
Provider encountered an error while streaming a REPORT response. [500, #0] A failure occurred while driving the update report editor [500, #106] Unknown error [500, #106]
SVN 對 repo 進行驗證沒有報告任何問題。
作為一種解決方法,我可以將 Fisheye 設置為在問題修訂後開始索引,但這會導致在該修訂之前最後修改的文件在審查中缺少差異數據,因此並不理想。
更新 1 有問題的修訂似乎是圍繞 repo 佈局方式的重新設計,我讀到這可能會在使用 3rd 方工具時引起問題。我還注意到在 1.9.5 之前的 SVN 中有一個錯誤,它允許在 xml 中無效的字元,所以我正在嘗試一些版本降級,看看是否有幫助。
更新 2 這些似乎是由在執行上述重新設計 repo 佈局時創建的特定分支引起的。更多研究表明我可以使用 svndumpfilter 刪除不需要的項目。我沒有找到任何關於如何刪除分支的資訊,只是特定的文件。我還嘗試將 repo 導出和導入到新安裝,但這並沒有解決問題。
一般來說,SVN的管理很容易,但我不知道如何解決這個問題。任何建議將不勝感激。謝謝!
我可以通過 svn:// 協議配置儲存庫訪問來避免這個錯誤。雖然 VisualSVN 不直接支持這一點,但所需的 svnserve.exe 已經存在,並且被配置為指向儲存庫副本的新服務。
sc create svncustom binpath= "\"C:\Program Files (x86)\VisualSVN Server\bin\svnserve.exe\" --service -r F:\RepositoriesCopy" displayname= "Subversion Workaround Server" depend= Tcpip start= auto
這似乎不是一個安全的解決方案,但它消除了我遇到的硬塊錯誤。