[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

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)

From: Stefan Sperling <stsp_at_elego.de>
Date: Mon, 2 Jan 2012 00:52:41 +0100

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_at_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.
Received on 2012-01-02 00:53:19 CET

This is an archived mail posted to the Subversion Dev mailing list.