I'm seeing stress.pl failures when using the new FSFS backend.  I'm
running two instances
$ .../stress.pl -c -s0
$ .../stress.pl -s0
Here's what the stress.pl -c -s0 instance did
Committed revision 2.
Status:
M               2   wcstress.3751/trunk/bar1/foo2
M               2   wcstress.3751/trunk/foo2
M               1   wcstress.3751/trunk/bar2/foo1
M               1   wcstress.3751/trunk/bar2/foo2
Status against revision:      2
Updating:
At revision 2.
Committing:
Sending        wcstress.3751/trunk/bar1/foo2
Sending        wcstress.3751/trunk/bar2/foo1
Sending        wcstress.3751/trunk/bar2/foo2
Sending        wcstress.3751/trunk/foo2                  <<<<<<<<<<
Transmitting file data ....
Committed revision 3.
Status:
       *        2   wcstress.3751/trunk/bar1/foo1
M      *        3   wcstress.3751/trunk/bar1/foo2
M      *        3   wcstress.3751/trunk/bar2/foo1
       *        3   wcstress.3751/trunk/bar2/foo2
M      *        2   wcstress.3751/trunk/foo1
M      *        3   wcstress.3751/trunk/foo2
Status against revision:      4
Updating:
C  wcstress.3751/trunk/foo2
C  wcstress.3751/trunk/bar1/foo2
U  wcstress.3751/trunk/bar1/foo1
C  wcstress.3751/trunk/bar2/foo1
U  wcstress.3751/trunk/bar2/foo2
G  wcstress.3751/trunk/foo1
Updated to revision 4.
Committing:
../svn/subversion/libsvn_client/commit.c:747: (apr_err=155015)
svn: Commit failed (details follow):
../svn/subversion/libsvn_client/commit_util.c:269: (apr_err=155015)
svn: Aborting commit: '/home/pm/sw/subversion/obj/subversion/tests/wcstress.3751/trunk/foo2' remains in conflict
unexpected commit fail: exit status: 256
and here's what the stress.pl -s0 instance did
Checked out revision 2.
Status:
M               2   wcstress.3769/trunk/foo1
M               2   wcstress.3769/trunk/bar1/foo1
M               2   wcstress.3769/trunk/bar1/foo2
M               2   wcstress.3769/trunk/foo2
Status against revision:      2
Updating:
At revision 2.
Committing:
Sending        wcstress.3769/trunk/bar1/foo1
Sending        wcstress.3769/trunk/bar1/foo2
Sending        wcstress.3769/trunk/foo1
Sending        wcstress.3769/trunk/foo2              <<<<<<<<<<
Transmitting file data ....
Committed revision 4.
Status:
M               4   wcstress.3769/trunk/bar1/foo2
M               4   wcstress.3769/trunk/foo2
M               2   wcstress.3769/trunk/bar2/foo1
M               2   wcstress.3769/trunk/bar2/foo2
Status against revision:      4
Updating:
At revision 4.
Committing:
Sending        wcstress.3769/trunk/bar1/foo2
Sending        wcstress.3769/trunk/bar2/foo1
Sending        wcstress.3769/trunk/bar2/foo2
Sending        wcstress.3769/trunk/foo2
Transmitting file data ....
Committed revision 5.
In particular note the two lines marked <<<<<<<<<< as they both
involve a modification and commit of r2 trunk/foo2, the first creates
r3 and the second creates r4.  The r4 commit should have failed with a
message about trunk/foo2 being out-of-date.
A postmortem shows
$ svn cat -r2 file://`pwd`/repostress/trunk/foo2 | head -5
A0
0,1
A1
1
A2
$ svn cat -r3 file://`pwd`/repostress/trunk/foo2 | head -5
A0
0,1,2
A1
1
A2
$ svn cat -r4 file://`pwd`/repostress/trunk/foo2 | head -5
A0
0,1
A1
1,1
A2
The r3 commit correctly appends ",2" to line 2 and the r4 commit
correctly appends ",1" to line 4, but r4 also clobbers the r3 commit
to line 2.
This problem is repeatable (the failure revision varies) using FSFS,
it doesn't occur using BDB.
-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 30 23:28:00 2004