Tests 20 and 22 in svnsync_tests.py fail when used with a 1.4.x svnserve.
CMD: /opt/svn/checkouts/trunk/subversion/svnsync/svnsync synchronize
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-20-1
--username jrandom --password rayjandom --config-dir
/opt/svn/checkouts/trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
exited with 1
CMD: svnadmin create svn-test-work/repositories/svnsync_tests-20
--bdb-txn-nosync --pre-1.5-compatible <TIME = 0.081202>
CMD: svnadmin load --force-uuid --quiet
svn-test-work/repositories/svnsync_tests-20 <TIME = 0.116791>
CMD: svnadmin create svn-test-work/repositories/svnsync_tests-20-1
--bdb-txn-nosync --pre-1.5-compatible <TIME = 0.081725>
CMD: svnlook uuid svn-test-work/repositories/svnsync_tests-20 <TIME = 0.072774>
CMD: svnadmin load --force-uuid --quiet
svn-test-work/repositories/svnsync_tests-20-1 <TIME = 0.072808>
CMD: svnsync initialize
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-20-1
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-20
--username jrandom --password rayjandom --config-dir
/opt/svn/checkouts/trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
<TIME = 0.208568>
CMD: svnsync synchronize
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-20-1
--username jrandom --password rayjandom --config-dir
/opt/svn/checkouts/trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
<TIME = 0.138181>
EXCEPTION: SVNUnexpectedStderr:
['subversion/libsvn_ra_svn/client.c:858: (apr_err=170003)\n',
"svnsync: Server doesn't support setting arbitrary revision properties
during commit\n"]
Traceback (most recent call last):
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svntest/main.py",
line 1066, in run
rc = apply(self.pred.run, (), kw)
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svntest/testcase.py",
line 121, in run
return self.func(sandbox)
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svnsync_tests.py",
line 664, in copy_revprops
run_test(sbox, "revprops.dump")
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svnsync_tests.py",
line 135, in run_test
run_sync(dest_sbox.repo_url)
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svnsync_tests.py",
line 56, in run_sync
raise SVNUnexpectedStderr(errput)
SVNUnexpectedStderr: ['subversion/libsvn_ra_svn/client.c:858:
(apr_err=170003)\n', "svnsync: Server doesn't support setting
arbitrary revision properties during commit\n"]
FAIL: svnsync_tests.py 20: test copying revprops other than svn:*
CMD: /opt/svn/checkouts/trunk/subversion/svnsync/svnsync synchronize
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-22-1
--username jrandom --password rayjandom --config-dir
/opt/svn/checkouts/trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
exited with 1
CMD: svnadmin create svn-test-work/repositories/svnsync_tests-22
--bdb-txn-nosync --pre-1.5-compatible <TIME = 0.081290>
CMD: svnadmin load --force-uuid --quiet
svn-test-work/repositories/svnsync_tests-22 <TIME = 0.166144>
CMD: svnadmin create svn-test-work/repositories/svnsync_tests-22-1
--bdb-txn-nosync --pre-1.5-compatible <TIME = 0.185571>
CMD: svnlook uuid svn-test-work/repositories/svnsync_tests-22 <TIME = 0.081297>
CMD: svnadmin load --force-uuid --quiet
svn-test-work/repositories/svnsync_tests-22-1 <TIME = 0.073719>
CMD: svnsync initialize
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-22-1
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-22/trunk/A
--username jrandom --password rayjandom --config-dir
/opt/svn/checkouts/trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
<TIME = 0.197868>
CMD: svnsync synchronize
svn://127.0.0.1:12467/svn-test-work/repositories/svnsync_tests-22-1
--username jrandom --password rayjandom --config-dir
/opt/svn/checkouts/trunk/subversion/tests/cmdline/svn-test-work/local_tmp/config
<TIME = 0.268210>
EXCEPTION: SVNUnexpectedStderr:
['subversion/libsvn_repos/commit.c:392: (apr_err=160016)\n', "svnsync:
Path 'trunk' not present\n"]
Traceback (most recent call last):
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svntest/main.py",
line 1066, in run
rc = apply(self.pred.run, (), kw)
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svntest/testcase.py",
line 121, in run
return self.func(sandbox)
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svnsync_tests.py",
line 674, in only_trunk_A_with_changes
"svnsync-trunk-A-changes.expected.dump")
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svnsync_tests.py",
line 135, in run_test
run_sync(dest_sbox.repo_url)
File "/opt/svn/checkouts/trunk/subversion/tests/cmdline/svnsync_tests.py",
line 56, in run_sync
raise SVNUnexpectedStderr(errput)
SVNUnexpectedStderr: ['subversion/libsvn_repos/commit.c:392:
(apr_err=160016)\n', "svnsync: Path 'trunk' not present\n"]
FAIL: svnsync_tests.py 22: test syncing subdirectories with changes on root
It seems like #20 is a serious compatibility problem: the call to
svn_ra_get_commit_editor3 in svnsync/main.c(replay_rev_started) ought
to trap SVN_ERR_RA_NOT_IMPLEMENTED and retry with the minimal set of
props (writing the rest in replay_rev_finished). (Don't forget that
our claim all along has been that you can even use an svn 1.0
repository for the destination of svnsync!) I'll use the magic words
"1.5 blocker" here.
#22 ought to fail as well... but not for this reason! It ought to
fail because svnsync checks for partial replay support, except it kind
of doesn't. r30440 fixes this (making #22 fail for the correct
reason, in addition to making #21 correctly fail). However, I do note
that the partial replay check in do_initialize is a little sketchy:
/* If we're doing a partial replay, we have to check first if the server
supports this. */
if (strcmp(root_url, baton->from_url) < 0)
{
Won't this treat trying to sync "http://foo/bar/baz/" when
"http://foo/bar/baz" is the repo root as a partial sync?
--dave
--
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-04-09 02:23:03 CEST