我正在使用最新版本的Subversion(SVN v1.7.5),突然之间,我无法再更新。当我尝试更新时,我得到:
E235000:断言在第1538行失败
这使我无法更新现有的工作副本。有什么建议吗?
答案 0 :(得分: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
您可能最好使用 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