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

Re: libsvn_ra_svn\marshal.c line 486: assertion failed (opt || cstr)

From: Stefan Sperling <stsp_at_elego.de>
Date: Tue, 15 Sep 2009 15:13:58 +0100

On Thu, Sep 10, 2009 at 04:00:18PM +0200, Stein Somers wrote:
> > Can you provide a command-line transcript of what you did exactly?
>
> I'm happy to say I can. I struggled a bit and in fact the first error I saw
> was "svn: Checksum mismatch while updating ..." (I haven't fooled around in
> .svn directories), but that one I didn't reproduce.
>
> From the ground up, this is how I prepared the repository:
> On server:
> > svnadmin create sandbox
> edit password in sandbox/conf/svnserve.conf
>
> On client:
> # created sandbox/ssomers using TSVN repo browser
> svn co svn://server/sandbox/ssomers sandbox
> cd sandbox
> echo a>a
> echo b>b
> svn add a b
> svn commit -m start
> svn up
> svn del a
> svn commit -m new
>
> such that revision 2 has 2 files and HEAD deletes one of them.
>
> Then we can reproduce:
> svn co svn://server/sandbox/ssomers_at_2 final
> cd final
> echo c>a
> svn up # gives conflict
> svn resolved a
> svn up -r2 --force # gives conflict
> svn revert a
> svn up
>
> This is a mean sequence of events looking at it now, but I was just trying to
> get work done. I use TortoiseSVN often and I wasn't aware that "Update to
> revision" includes --force.

At which point do you get the failure?
I cannot reproduce this on BSD with svn trunk or 1.6.x using
this script (which I hope is equivalent to what you were doing):

#!/bin/sh

set -e

cwd=`pwd`
basename=`basename $0`
scratch_area="`echo $basename | sed -e s/\.sh$//`"
repos=$scratch_area/repos
trunk=$scratch_area/trunk
trunk_url=file:///$cwd/$repos/trunk

set -x

rm -rf $scratch_area
mkdir -p $scratch_area

mkdir -p $trunk
echo alpha > $trunk/alpha
echo beta > $trunk/beta

svnadmin create $cwd/$repos
svn import $trunk $trunk_url -m "importing project tree"
rm -rf $trunk
svn checkout $trunk_url $trunk

svn rm $trunk/alpha
svn ci -mm $trunk

svnserve --pid-file $scratch_area/svnserve.pid \
        --listen-host localhost -d -r $repos
svn co svn://localhost/trunk_at_2 ${trunk}2
svn up ${trunk}2
svn resolved ${trunk}2/alpha
svn up -r2 --force ${trunk}2
svn revert ${trunk}2/alpha
svn up ${trunk}2
kill `cat $scratch_area/svnserve.pid`

The output is:

+ rm -rf bug
+ mkdir -p bug
+ mkdir -p bug/trunk
+ echo alpha
+ > bug/trunk/alpha
+ echo beta
+ > bug/trunk/beta
+ svnadmin create /tmp/bug/repos
+ svn import bug/trunk file:////tmp/bug/repos/trunk -m importing project tree
Adding bug/trunk/alpha
Adding bug/trunk/beta

Committed revision 1.
+ rm -rf bug/trunk
+ svn checkout file:////tmp/bug/repos/trunk bug/trunk
A bug/trunk/alpha
A bug/trunk/beta
Checked out revision 1.
+ svn rm bug/trunk/alpha
D bug/trunk/alpha
+ svn ci -mm bug/trunk
Deleting bug/trunk/alpha

Committed revision 2.
+ svnserve --pid-file bug/svnserve.pid --listen-host localhost -d -r bug/repos
+ svn co svn://localhost/trunk_at_2 bug/trunk2
A bug/trunk2/beta
Checked out revision 2.
+ svn up bug/trunk2
At revision 2.
+ svn resolved bug/trunk2/alpha
+ svn up -r2 --force bug/trunk2
At revision 2.
+ svn revert bug/trunk2/alpha
Skipped 'bug/trunk2/alpha'
+ svn up bug/trunk2
At revision 2.
+ cat bug/svnserve.pid
+ kill 14255

Stefan

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2395096

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-09-15 16:14:51 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.