> -----Original Message-----
> From: Philip Martin [mailto:philip.mar...@wandisco.com]
> Sent: dinsdag 10 januari 2012 17:34
> To: Manfred Klug
> Cc: dev@subversion.apache.org
> Subject: Re: Access Violation with 'svn status -u'
> 
> "Manfred Klug" <man...@web.de> writes:
> 
> > svn st -u
> > ==> Access Violation
> 
> Simplified recipe:
> 
> svnadmin create repo
> svn import -mm repo/format file://$PWD/repo/A/f
> svn co -r0 file://$PWD/repo wc
> svn mkdir wc/A
> svn st -u wc
> 
> That's obviously a bug.  It's crashing in make_file_baton:
> 
>   f->repos_relpath = svn_relpath_join(find_dir_repos_relpath(pb, pool),
>                                       f->name, pool);
> 
> when find_dir_repos_relpath returns NULL.  We could set f->repos_relpath
> to NULL, which matched what happens for the directory baton for A, but
> is that correct?  find_dir_repos_relpath is returning NULL because the
> "obstructing" A is not versioned, although there is an A in the
> repository.  I'm not sure what repos_relpath is supposed to represent
> here.  Is it the repository path associated with the name in the
> repository, or the repository path associated with the node in wc.db?

It should be the repository root relative path of the node, which is not
used by svn, but *is* used by several other clients. Subclipse was the first
client to notice this problem as seen in the log message you mailed.

The same crash (or a related one) was reported about a week ago in the
'crash fetching status' thread.

        Bert
> 
> This is related to:
> 
> r1181609 | rhuijben | 2011-10-11 03:32:16 +0100 (Tue, 11 Oct 2011) | 14
lines
> 
> Revert the removal of the calculations of repository paths of remotely
added
> nodes in r953751, by reintroducing similar code using repository relative
> paths.
> 
> This should fix the javahl test failure recently introduced by markphip.
> 
> * subversion/libsvn_wc/status.c
>   (dir_baton, file_baton): Add repos_relpath field.
>   (tweak_statushash): Fill repos_relpath from baton if not already read
from
>     the working copy.
>   (make_dir_baton, make_file_baton): Calculate and store repos_relpath.
> 
> Found by: markphip
>           philip
> 
> 
> --
> uberSVN: Apache Subversion Made Easy
> http://www.uberSVN.com

Reply via email to