subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: [1.7.x] "svn update" tripping assertion when replacing executable by symlink (Re: [bug?] perl bindings: SVN::Ra->new trips assertion when file:// URL contains a space)
Date Sun, 01 Jan 2012 23:52:41 GMT
On Sun, Jan 01, 2012 at 04:31:14PM -0600, Jonathan Nieder wrote:
> 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

Thanks.
Sounds like we should apply your Ra.pm patch and also backport r1187692.

The test suite you mentioned which triggers the assertion failure fixed
by your Ra.pm patch is the git-svn test suite, is it? I think our own
test suite should be updated to check for this, too.

Mime
View raw message