我正在使用最新版本的 Subversion (SVN v1.7.5),突然之间,我无法再更新。当我尝试更新时,我得到:
E235000:第 1538 行的断言失败
这使我无法更新现有的工作副本。有什么建议吗?
节点处理中存在一个错误,其中某些条件被错误地标记为无效。
你最好的选择是从头开始重建 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
您最好使用src2pkg或checkinstall之类的工具来代替“make install”命令,以便以后轻松卸载它。这个补丁并不理想,但它可以完成工作。
资料来源:
SVN 来源: http ://subversion.apache.org/
仅从源代码构建 SVN 客户端,无需服务器组件: http ://www.tek-tips.com/viewthread.cfm?qid=1249332 :
修复 SVN 1.7.5 http://dqn.sakusakutto.jp/2012/05/svn_E235000_In_file_subversion_libsvn_wc_update_editor.c_line_1583%20.html中的问题的补丁