You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Eric Gillespie <ep...@pretzelnet.org> on 2007/09/12 19:14:38 UTC
BUG with complex branching, only over neon and serf
I might be able to get help from Sussman on this, but maybe not.
So any other neon or serf experts, please chime in :).
I found a bug in ra -neon and -serf that can't be shown with the
client library, but only when using the ra commit editor to build
up a relatively complex transaction. Presumably you can
demonstrate this problem with mucc, but I have not tried.
The problem is basically:
1. Delete /trunk/dir1/dir2/
=> commit r13
2. In one transaction:
a. Copy /trunk@13 to /branch
b. Create /branch/dir1/dir2
=> commit r14
3. In one transaction:
a. Delete /branch
b. Copy /trunk@13 to /branch
c. Create /branch/dir1/dir2
=> ERROR: .../branch/dir1/dir2 already exists
Of course, /branch/dir1/dir2 does *not* exist in the transaction
I'm building in step 3! Some or all of Neon, serf, and
mod-dav-svn are looking at branch/dir1/dir2 in the revision root
rather than the transaction root.
There's a bit more to it, and serf is slightly different than
neon, but that's basically it. See the test script for details.
Plop it into subversion/bindings/swig/python/tests and run it.
Comment out both REOPS_URL settings to see it run over local.
0 trunk2% python subversion/bindings/swig/python/tests/bug.py
*** testing over file
D trunk/dir1/dir2/
*** Committed r13
branch 0
A branch/ (from trunk@13)
A branch/dir1/dir2/
*** Committed r14
branch 1
R branch/ (from trunk@13)
A branch/dir1/dir2/
*** Committed r15
branch 2
R branch/ (from trunk@13)
A branch/dir1/dir2
*** Committed r16
branch 3
R branch/ (from trunk@13)
A branch/dir1/dir2
*** Committed r17
.
----------------------------------------------------------------------
Ran 1 test in 0.760s
OK
0 trunk2% python subversion/bindings/swig/python/tests/bug.py
*** testing over svn+ssh
D trunk/dir1/dir2/
*** Committed r13
branch 0
A branch/ (from trunk@13)
A branch/dir1/dir2/
*** Committed r14
branch 1
R branch/ (from trunk@13)
A branch/dir1/dir2/
*** Committed r15
branch 2
R branch/ (from trunk@13)
A branch/dir1/dir2
*** Committed r16
branch 3
R branch/ (from trunk@13)
A branch/dir1/dir2
*** Committed r17
.
----------------------------------------------------------------------
Ran 1 test in 0.902s
OK
0 trunk2% python subversion/bindings/swig/python/tests/bug.py
*** testing over http
D trunk/dir1/dir2/
*** Committed r13
branch 0
A branch/ (from trunk@13)
A branch/dir1/dir2/
*** Committed r14
branch 1
R branch/ (from trunk@13)
A branch/dir1/dir2/
*** Committed r15
branch 2
R branch/ (from trunk@13)
A branch/dir1/dir2
E
======================================================================
ERROR: test_bug (__main__.SubversionRepositoryAccessTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "subversion/bindings/swig/python/tests/bug.py", line 152, in test_bug
driver_cb)
File "/usr/local/google/home/epg/work/svn/trunk2/subversion/bindings/swig/python/libsvn/delta.py", line 514, in svn_delta_path_driver
return apply(_delta.svn_delta_path_driver, args)
File "subversion/bindings/swig/python/tests/bug.py", line 149, in driver_cb
editor.close_file(editor.add_file(path, parent, None, -1),
File "/usr/local/google/home/epg/work/svn/trunk2/subversion/bindings/swig/python/libsvn/delta.py", line 441, in add_file
return svn_delta_editor_invoke_add_file(self, *args)
File "/usr/local/google/home/epg/work/svn/trunk2/subversion/bindings/swig/python/libsvn/delta.py", line 651, in svn_delta_editor_invoke_add_file
return apply(_delta.svn_delta_editor_invoke_add_file, args)
SubversionException: ("File '/svn-test-work/repositories/basic_tests-1/branch/dir1/dir2' already exists", 175005)
import unittest, os, setup_path
from svn import core, repos, fs, delta, client, ra
from StringIO import StringIO
# Use repository path where davautochec.sh-started httpd looks.
import trac.versioncontrol.tests.svn_fs
trac.versioncontrol.tests.svn_fs.REPOS_PATH = os.path.abspath(os.path.dirname(__file__) + '/../../../../tests/cmdline/svn-test-work/repositories/basic_tests-1')
# works over ra -local and -svn
trac.versioncontrol.tests.svn_fs.REPOS_URL = 'svn+ssh://localhost + trac.versioncontrol.tests.svn_fs.REPOS_PATH
# not over ra-neon
trac.versioncontrol.tests.svn_fs.REPOS_URL = 'http://localhost:7818/svn-test-work/repositories/basic_tests-1'
from trac.versioncontrol.tests.svn_fs import SubversionRepositoryTestSetup, \
REPOS_PATH, REPOS_URL
class Callbacks:
open_tmp_file = None
progress_func = None
cancel_func = None
get_wc_prop = None
push_wc_prop = None
def __init__(self):
self.auth_baton = core.svn_auth_open([
client.get_simple_provider(),
client.get_username_provider(),
])
core.svn_auth_set_parameter(self.auth_baton,
core.SVN_AUTH_PARAM_DEFAULT_USERNAME,
'jrandom')
core.svn_auth_set_parameter(self.auth_baton,
core.SVN_AUTH_PARAM_DEFAULT_PASSWORD,
'rayjandom')
class SubversionRepositoryAccessTestCase(unittest.TestCase):
def setUp(self):
SubversionRepositoryTestSetup().setUp()
ra.initialize()
# Open repository directly for cross-checking
self.repos = repos.open(REPOS_PATH)
self.fs = repos.fs(self.repos)
self.callbacks = Callbacks()
svn_config_dir = os.path.expanduser('~/.subversion')
self.svn_config = core.svn_config_get_config(svn_config_dir)
print '*** testing over', REPOS_URL[:REPOS_URL.find(':')]
self.ra_ctx = ra.open2(REPOS_URL, self.callbacks, self.svn_config, None)
def test_bug(self):
head = fs.youngest_rev(self.fs)
info = [None]
def commit_cb(commit_info, pool):
info[0] = commit_info
revprops = {"svn:log": "foobar"}
print 'D trunk/dir1/dir2/'
(editor, edit_baton) = ra.get_commit_editor3(self.ra_ctx, revprops,
commit_cb, None, False)
def driver_cb(parent, path, pool):
editor.delete_entry(path, head, parent, pool)
delta.path_driver(editor, edit_baton, head, ['trunk/dir1/dir2'], driver_cb)
editor.close_edit(edit_baton)
self.assertEqual(info[0].revision, head + 1)
head = info[0].revision
print '*** Committed r' + str(head)
# Prepare for branch operations.
branch_code = 'A'
copyfrom_rev = head
# Four operations: branch 0 and 1 add a directory as
# branch/dir1/dir2, followed by branch 2 and 3 adding a file as
# branch/dir1/dir2. All work over svn, but branch 2 fails over
# neon.
# Comment out branch 0 and 1 (leaving only the file operations),
# and then it's branch 3 that fails. Basically, if
# branch/dir1/dir2 exists at all (file or dir), then adding
# branch/dir1/dir2 as a file fails; adding dir2 as a directory is
# no problem at all.
# serf has the problem with directories as well as files, as it
# fails even branch 1.
print 'branch 0'
print '%c branch/ (from trunk@%d)' % (branch_code, copyfrom_rev)
print 'A branch/dir1/dir2/'
editor, edit_baton = ra.get_commit_editor3(self.ra_ctx, revprops,
commit_cb, None, False)
def driver_cb(parent, path, pool):
if path == 'branch':
if branch_code == 'R':
editor.delete_entry(path, head, parent, pool)
return editor.add_directory(path, parent,
'/'.join([REPOS_URL, 'trunk']),
copyfrom_rev)
elif path == 'branch/dir1/dir2':
return editor.add_directory(path, parent, None, -1)
delta.path_driver(editor, edit_baton, head, ['branch', 'branch/dir1/dir2'],
driver_cb)
editor.close_edit(edit_baton)
self.assertEqual(info[0].revision, head + 1)
head = info[0].revision
print '*** Committed r' + str(head)
branch_code = 'R'
print 'branch 1'
print '%c branch/ (from trunk@%d)' % (branch_code, copyfrom_rev)
print 'A branch/dir1/dir2/'
editor, edit_baton = ra.get_commit_editor3(self.ra_ctx, revprops,
commit_cb, None, False)
def driver_cb(parent, path, pool):
if path == 'branch':
if branch_code == 'R':
editor.delete_entry(path, head, parent, pool)
return editor.add_directory(path, parent,
'/'.join([REPOS_URL, 'trunk']),
copyfrom_rev)
elif path == 'branch/dir1/dir2':
return editor.add_directory(path, parent, None, -1)
delta.path_driver(editor, edit_baton, head, ['branch', 'branch/dir1/dir2'],
driver_cb)
editor.close_edit(edit_baton)
self.assertEqual(info[0].revision, head + 1)
head = info[0].revision
print '*** Committed r' + str(head)
branch_code = 'R'
print 'branch 2'
print '%c branch/ (from trunk@%d)' % (branch_code, copyfrom_rev)
print 'A branch/dir1/dir2'
editor, edit_baton = ra.get_commit_editor3(self.ra_ctx, revprops,
commit_cb, None, False)
def driver_cb(parent, path, pool):
if path == 'branch':
if branch_code == 'R':
editor.delete_entry(path, head, parent, pool)
return editor.add_directory(path, parent,
'/'.join([REPOS_URL, 'trunk']),
copyfrom_rev)
elif path == 'branch/dir1/dir2':
editor.close_file(editor.add_file(path, parent, None, -1),
None, pool)
delta.path_driver(editor, edit_baton, head, ['branch', 'branch/dir1/dir2'],
driver_cb)
editor.close_edit(edit_baton)
self.assertEqual(info[0].revision, head + 1)
head = info[0].revision
print '*** Committed r' + str(head)
branch_code = 'R'
print 'branch 3'
print '%c branch/ (from trunk@%d)' % (branch_code, copyfrom_rev)
print 'A branch/dir1/dir2'
editor, edit_baton = ra.get_commit_editor3(self.ra_ctx, revprops,
commit_cb, None, False)
def driver_cb(parent, path, pool):
if path == 'branch':
if branch_code == 'R':
editor.delete_entry(path, head, parent, pool)
return editor.add_directory(path, parent,
'/'.join([REPOS_URL, 'trunk']),
copyfrom_rev)
elif path == 'branch/dir1/dir2':
editor.close_file(editor.add_file(path, parent, None, -1),
None, pool)
delta.path_driver(editor, edit_baton, head, ['branch', 'branch/dir1/dir2'],
driver_cb)
editor.close_edit(edit_baton)
self.assertEqual(info[0].revision, head + 1)
head = info[0].revision
print '*** Committed r' + str(head)
branch_code = 'R'
def suite():
return unittest.makeSuite(SubversionRepositoryAccessTestCase, 'test')
if __name__ == '__main__':
runner = unittest.TextTestRunner()
runner.run(suite())
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Eric Gillespie <ep...@pretzelnet.org>.
Philip Martin <ph...@codematters.co.uk> writes:
> #!/bin/sh
> svnmucc="../../../contrib/client-side/svnmucc/svnmucc --username jrandom --password rayjandom -mm"
> REPO=http://localhost:23510/svn-test-work/repositories/repo
> rm -rf svn-test-work/repositories/repo
> svnadmin create svn-test-work/repositories/repo
> $svnmucc mkdir $REPO/trunk mkdir $REPO/trunk/dir1 mkdir $REPO/trunk/dir1/dir2
> $svnmucc rm $REPO/trunk/dir1/dir2
> $svnmucc cp 2 $REPO/trunk $REPO/branch mkdir $REPO/branch/dir1/dir2
> $svnmucc rm $REPO/branch cp 2 $REPO/trunk $REPO/branch mkdir $REPO/branch/dir1/dir2
Change that to this and it fails exactly the same was as my
Python script, and starts succeeding with my patch to neon.
0 cmdline% cat test.sh
#!/bin/sh
svnmucc="../../../contrib/client-side/svnmucc/svnmucc --username jrandom --password rayjandom -mm"
base_url=http://localhost:7818
REPO=$base_url/svn-test-work/repositories/repo
rm -rf svn-test-work/repositories/repo
svnadmin create svn-test-work/repositories/repo
$svnmucc mkdir $REPO/trunk mkdir $REPO/trunk/dir1 mkdir $REPO/trunk/dir1/dir2
$svnmucc rm $REPO/trunk/dir1/dir2
$svnmucc cp 2 $REPO/trunk $REPO/branch put /dev/null $REPO/branch/dir1/dir2
$svnmucc rm $REPO/branch cp 2 $REPO/trunk $REPO/branch put /dev/null $REPO/branch/dir1/dir2
svn --username jrandom --password rayjandom log -vq $REPO
0 cmdline% sh test.sh
r1 committed by jrandom at 2007-09-12T22:47:22.692032Z
r2 committed by jrandom at 2007-09-12T22:47:22.810216Z
r3 committed by jrandom at 2007-09-12T22:47:22.916317Z
subversion/libsvn_ra_neon/commit.c:1005: (apr_err=175005)
svnmucc: File '/svn-test-work/repositories/repo/branch/dir1/dir2' already exists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Eric Gillespie <ep...@google.com>.
Philip Martin <ph...@codematters.co.uk> writes:
> Eric Gillespie <ep...@pretzelnet.org> writes:
>
> > You must create branch/dir1/dir2 as a file to trigger the bug.
> > Now that you've shown the way, I'll see about getting an svnmucc
> > recipe; that should be easier for most folks to work with, I'm sure.
>
> OK, that does trigger a bug:
Filed as http://subversion.tigris.org/issues/show_bug.cgi?id=2939
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Philip Martin <ph...@codematters.co.uk>.
Eric Gillespie <ep...@pretzelnet.org> writes:
> You must create branch/dir1/dir2 as a file to trigger the bug.
> Now that you've shown the way, I'll see about getting an svnmucc
> recipe; that should be easier for most folks to work with, I'm sure.
OK, that does trigger a bug:
#!/bin/sh
svnmucc="../../../contrib/client-side/svnmucc/svnmucc --username jrandom --password rayjandom -mm"
REPO=http://localhost:23510/svn-test-work/repositories/repo
rm -rf svn-test-work/repositories/repo
svnadmin create svn-test-work/repositories/repo
$svnmucc mkdir $REPO/trunk mkdir $REPO/trunk/dir1 mkdir $REPO/trunk/dir1/dir2
$svnmucc rm $REPO/trunk/dir1/dir2
$svnmucc cp 2 $REPO/trunk $REPO/branch put /dev/null $REPO/branch/dir1/dir2
$svnmucc rm $REPO/branch cp 2 $REPO/trunk $REPO/branch put /dev/null $REPO/branch/dir1/dir2
svn --username jrandom --password rayjandom log -v $REPO
Gives the error:
../src/subversion/libsvn_ra_neon/commit.c:1005: (apr_err=175005)
svnmucc: File '/svn-test-work/repositories/repo/branch/dir1/dir2' already exists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Eric Gillespie <ep...@pretzelnet.org>.
Philip Martin <ph...@codematters.co.uk> writes:
> $svnmucc mkdir $REPO/trunk mkdir $REPO/trunk/dir1 mkdir $REPO/trunk/dir1/dir2
> $svnmucc rm $REPO/trunk/dir1/dir2
> $svnmucc cp 2 $REPO/trunk $REPO/branch mkdir $REPO/branch/dir1/dir2
> $svnmucc rm $REPO/branch cp 2 $REPO/trunk $REPO/branch mkdir $REPO/branch/dir1/dir2
> svn --username jrandom --password rayjandom log -vq $REPO
You must create branch/dir1/dir2 as a file to trigger the bug.
Now that you've shown the way, I'll see about getting an svnmucc
recipe; that should be easier for most folks to work with, I'm sure.
Thanks.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Philip Martin <ph...@codematters.co.uk>.
Eric Gillespie <ep...@pretzelnet.org> writes:
> I found a bug in ra -neon and -serf that can't be shown with the
> client library, but only when using the ra commit editor to build
> up a relatively complex transaction. Presumably you can
> demonstrate this problem with mucc, but I have not tried.
>
> The problem is basically:
>
> 1. Delete /trunk/dir1/dir2/
> => commit r13
> 2. In one transaction:
> a. Copy /trunk@13 to /branch
> b. Create /branch/dir1/dir2
> => commit r14
> 3. In one transaction:
> a. Delete /branch
> b. Copy /trunk@13 to /branch
> c. Create /branch/dir1/dir2
> => ERROR: .../branch/dir1/dir2 already exists
I don't have a working set of python binding but using svnmucc your
recipe doesn't trigger a bug:
#!/bin/sh
svnmucc="../../../contrib/client-side/svnmucc/svnmucc --username jrandom --password rayjandom -mm"
REPO=http://localhost:23510/svn-test-work/repositories/repo
rm -rf svn-test-work/repositories/repo
svnadmin create svn-test-work/repositories/repo
$svnmucc mkdir $REPO/trunk mkdir $REPO/trunk/dir1 mkdir $REPO/trunk/dir1/dir2
$svnmucc rm $REPO/trunk/dir1/dir2
$svnmucc cp 2 $REPO/trunk $REPO/branch mkdir $REPO/branch/dir1/dir2
$svnmucc rm $REPO/branch cp 2 $REPO/trunk $REPO/branch mkdir $REPO/branch/dir1/dir2
svn --username jrandom --password rayjandom log -vq $REPO
------------------------------------------------------------------------
r4 | jrandom | 2007-09-12 23:30:24 +0100 (Wed, 12 Sep 2007)
Changed paths:
R /branch (from /trunk:2)
A /branch/dir1/dir2
------------------------------------------------------------------------
r3 | jrandom | 2007-09-12 23:30:24 +0100 (Wed, 12 Sep 2007)
Changed paths:
A /branch (from /trunk:2)
A /branch/dir1/dir2
------------------------------------------------------------------------
r2 | jrandom | 2007-09-12 23:30:24 +0100 (Wed, 12 Sep 2007)
Changed paths:
D /trunk/dir1/dir2
------------------------------------------------------------------------
r1 | jrandom | 2007-09-12 23:30:24 +0100 (Wed, 12 Sep 2007)
Changed paths:
A /trunk
A /trunk/dir1
A /trunk/dir1/dir2
------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Eric Gillespie <ep...@pretzelnet.org>.
Eric Gillespie <ep...@pretzelnet.org> writes:
> 1. Delete /trunk/dir1/dir2/
> => commit r13
> 2. In one transaction:
> a. Copy /trunk@13 to /branch
> b. Create /branch/dir1/dir2
> => commit r14
> 3. In one transaction:
> a. Delete /branch
> b. Copy /trunk@13 to /branch
> c. Create /branch/dir1/dir2
> => ERROR: .../branch/dir1/dir2 already exists
I thought it might be the check_path in
mod_dav_svn/repos.c:open_stream, but I added this block just
before the branch 2 operation to test the theory:
txn = fs.begin_txn(self.fs, head)
txnroot = fs.txn_root(txn)
fs.delete(txnroot, 'branch')
copyfrom_root = fs.revision_root(self.fs, copyfrom_rev)
fs.copy(copyfrom_root, 'trunk', txnroot, 'branch')
print 'hrm', fs.check_path(txnroot, 'branch/dir1/dir2')
fs.make_file(txnroot, 'branch/dir1/dir2')
fs.close_root(txnroot)
(conflicts, head) = fs.commit_txn(txn)
print '***', conflicts, head
fs.close_root(copyfrom_root)
It worked, so I don't think it's the check_path. Hrm.
--
Eric Gillespie <*> epg@pretzelnet.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Eric Gillespie <ep...@pretzelnet.org>.
Eric Gillespie <ep...@pretzelnet.org> writes:
> I think I have a fix for neon; I found where the error comes
> from, anyway, and commenting out what looks like a redundant
> client-side check makes this test run to completion. I still
> have to run davautocheck and get some DAV gurus to look at it, to
> make sure I didn't break something else.
Nope, I just broke commit_tests.py 21: issue 644 attempt to add a
file twice. I had commented out the existence check in
ra_neon/commit.c:commit_add_file, thinking it redundant. But, I
don't understand why that block is necessary. If I remove it, we
should still get an error (from the *fs*) when the path already
exists in the txnroot. Why don't we?
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: BUG with complex branching, only over neon and serf
Posted by Eric Gillespie <ep...@pretzelnet.org>.
I think I have a fix for neon; I found where the error comes
from, anyway, and commenting out what looks like a redundant
client-side check makes this test run to completion. I still
have to run davautocheck and get some DAV gurus to look at it, to
make sure I didn't break something else.
serf, however, I don't understand. I traced the error to
subversion/libsvn_ra_serf/commit.c:checkout_dir where ra-serf
tries a checkout that neon doesn't. First I have the section of
my access log from my locally patched ra-neon successfully
completing branch 1, followed by serf's failed attempt.
neon (works):
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "MKACTIVITY /svn-test-work/repositories/basic_tests-1/!svn/act/c8c6e2b2-617d-11dc-ac2a-7d296a68656f HTTP/1.1" 201 259
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "PROPFIND /svn-test-work/repositories/basic_tests-1 HTTP/1.1" 207 496
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "PROPFIND /svn-test-work/repositories/basic_tests-1/!svn/vcc/default HTTP/1.1" 207 463
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "CHECKOUT /svn-test-work/repositories/basic_tests-1/!svn/bln/14 HTTP/1.1" 201 274
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "PROPPATCH /svn-test-work/repositories/basic_tests-1/!svn/wbl/c8c6e2b2-617d-11dc-ac2a-7d296a68656f/14 HTTP/1.1" 207 493
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "PROPFIND /svn-test-work/repositories/basic_tests-1 HTTP/1.1" 207 448
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "CHECKOUT /svn-test-work/repositories/basic_tests-1/!svn/ver/14/ HTTP/1.1" 201 272
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "DELETE /svn-test-work/repositories/basic_tests-1/!svn/wrk/c8c6e2b2-617d-11dc-ac2a-7d296a68656f/branch HTTP/1.1" 204 -
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "PROPFIND /svn-test-work/repositories/basic_tests-1/trunk HTTP/1.1" 207 750
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "PROPFIND /svn-test-work/repositories/basic_tests-1/!svn/vcc/default HTTP/1.1" 207 516
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "COPY /svn-test-work/repositories/basic_tests-1/!svn/bc/13/trunk HTTP/1.1" 201 269
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "MKCOL /svn-test-work/repositories/basic_tests-1/!svn/wrk/c8c6e2b2-617d-11dc-ac2a-7d296a68656f/branch/dir1/dir2
HTTP/1.1" 201 278
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "MERGE /svn-test-work/repositories/basic_tests-1 HTTP/1.1" 200 1853
127.0.0.1 - jrandom [12/Sep/2007:15:16:18 -0700] "DELETE /svn-test-work/repositories/basic_tests-1/!svn/act/c8c6e2b2-617d-11dc-ac2a-7d296a68656f HTTP/1.1" 204 -
serf (broke):
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "MKACTIVITY /svn-test-work/repositories/basic_tests-1/!svn/act/20612730-617e-11dc-8e20-316521cf6579 HTTP/1.1" 201 259
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "PROPFIND /svn-test-work/repositories/basic_tests-1/!svn/vcc/default HTTP/1.1" 207 463
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "PROPFIND /svn-test-work/repositories/basic_tests-1 HTTP/1.1" 207 448
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "CHECKOUT /svn-test-work/repositories/basic_tests-1/!svn/bln/14 HTTP/1.1" 201 274
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "PROPPATCH /svn-test-work/repositories/basic_tests-1/!svn/wbl/20612730-617e-11dc-8e20-316521cf6579/14 HTTP/1.1" 207 493
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "CHECKOUT /svn-test-work/repositories/basic_tests-1/!svn/ver/14 HTTP/1.1" 201 272
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "DELETE /svn-test-work/repositories/basic_tests-1/!svn/wrk/20612730-617e-11dc-8e20-316521cf6579/branch HTTP/1.1" 204 -
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "COPY /svn-test-work/repositories/basic_tests-1/!svn/bc/13/trunk HTTP/1.1" 201 269
127.0.0.1 - jrandom [12/Sep/2007:15:18:45 -0700] "CHECKOUT /svn-test-work/repositories/basic_tests-1/!svn/ver/14/branch/dir1 HTTP/1.1" 409 444
It's this last CHECKOUT that fails.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org