Stefan Sperling wrote: > On Sat, Dec 17, 2011 at 03:40:03AM -0600, Jonathan Nieder wrote:
>> svn: E235000: In file >> '/home/jrn/src/subversion/subversion/libsvn_wc/update_editor.c' line 1582: >> assertion failed (action == svn_wc_conflict_action_edit || action == >> svn_wc_conflict_action_delete || action == svn_wc_conflict_action_replace) >> Aborted (core dumped) >> > > That looks like the symlink update bug fixed in 1.7.2 > > Version 1.7.2 > (02 Dec 2011, from /branches/1.7.x) > http://svn.apache.org/repos/asf/subversion/tags/1.7.2 > [...] > * fix an assertion failure when a symlink is updated (r1186944, -81, -83) That sounds right. Unfortunately, I can reproduce it with branches/1.7.x@1226297. Some details: The action is _add. The test script ran "svn update" after a typechange (executable -> symlink) for a file named exec.sh. reason is _replaced. The base status is _normal. "svn log -v" reveals that /exec.sh is already present and already known to be a symlink. However, the working copy is not up-to-date --- the working copy of the file is still an executable. Call chain: main -> svn_client_update4 -> svn_client__update_internal -> update_internal -> svn_wc_crawl_revisions -> svn_repos_finish_report -> finish_report -> reporter.c::drive -> delta_dirs -> update_entry -> update_editor.c::close_file -> check_tree_conflict More precisely, this is the "local_is_link != incoming_is_link" case in close_file(). In trunk after r1187692, it's gone. Instead of calling check_tree_conflict(), that code path calls create_tree_conflict(), avoiding trouble. Thanks and hope that helps, Jonathan