3

我正在使用最新版本的 Subversion (SVN v1.7.5),突然之间,我无法再更新。当我尝试更新时,我得到:

E235000:第 1538 行的断言失败

这使我无法更新现有的工作副本。有什么建议吗?

4

1 回答 1

5

节点处理中存在一个错误,其中某些条件被错误地标记为无效。

你最好的选择是从头开始重建 SVN。从 Apache.org 下载源代码并对源代码进行以下更改:

$ diff -u update_editor.orig update_editor.c 
--- update_editor.orig 2012-04-26 13:02:08.000000000 +0900
+++ update_editor.c  2012-05-30 02:27:24.000000000 +0900
@@ -1578,9 +1578,8 @@
     /* When the node existed before (it was locally deleted, replaced or
      * edited), then 'update' cannot add it "again". So it can only send
      * _action_edit, _delete or _replace. */
-    SVN_ERR_ASSERT(action == svn_wc_conflict_action_edit
-                   || action == svn_wc_conflict_action_delete
-                   || action == svn_wc_conflict_action_replace);
+    ;
+
   else if (reason == svn_wc_conflict_reason_added)
     /* When the node did not exist before (it was locally added), then 'update'
      * cannot want to modify it in any way. It can only send _action_add. */

最后,您可以使用以下命令仅构建客户端(而不是服务器):

./configure \
--without-berkeley-db \
--without-apache \
--without-apxs \
--without-swig \
--with-ssl

make

make install

您最好使用src2pkgcheckinstall之类的工具来代替“make install”命令,以便以后轻松卸载它。这个补丁并不理想,但它可以完成工作。

资料来源:

于 2012-06-07T16:46:25.950 回答