subversion-1.8.0-rc2: diff_test 60 fails
From: Tobias Bading <tbading_at_web.de>
Date: Thu, 23 May 2013 11:05:39 +0200
Hello everyone,
I'm having a bit of trouble with subversion-1.8.0-rc2 on my Ubuntu Lucid
--- W: ============================================================= Expected '3449_spurious' and actual '3449_spurious' in status tree are different! ============================================================= EXPECTED NODE TO BE: ============================================================= * Node name: 3449_spurious Path: svn-test-work/working_copies/diff_tests-60/3449_spurious Contents: None Properties: {} Attributes: {'status': 'M ', 'wc_rev': '2'} Children: None (node is probably a file) ============================================================= ACTUAL NODE FOUND: ============================================================= * Node name: 3449_spurious Path: svn-test-work/working_copies/diff_tests-60/3449_spurious Contents: None Properties: {} Attributes: {'status': ' ', 'wc_rev': '2'} Children: None (node is probably a file) W: ACTUAL STATUS TREE: svntest.wc.State(wc_dir, { '' : Item(status=' M', wc_rev='2'), 'A' : Item(status=' ', wc_rev='2'), 'A/B' : Item(status=' ', wc_rev='2'), 'A/B/F' : Item(status=' ', wc_rev='2'), 'A/B/E' : Item(status=' ', wc_rev='2'), 'A/B/E/alpha' : Item(status=' ', wc_rev='2'), 'A/B/E/beta' : Item(status=' ', wc_rev='2'), 'A/B/lambda' : Item(status=' ', wc_rev='2'), 'A/D' : Item(status=' ', wc_rev='2'), 'A/D/H' : Item(status=' ', wc_rev='2'), 'A/D/H/omega' : Item(status=' ', wc_rev='2'), 'A/D/H/psi' : Item(status=' ', wc_rev='2'), 'A/D/H/chi' : Item(status=' ', wc_rev='2'), 'A/D/gamma' : Item(status=' ', wc_rev='2'), 'A/D/G' : Item(status=' ', wc_rev='2'), 'A/D/G/tau' : Item(status=' ', wc_rev='2'), 'A/D/G/pi' : Item(status=' ', wc_rev='2'), 'A/D/G/rho' : Item(status=' ', wc_rev='2'), 'A/C' : Item(status=' ', wc_rev='2'), 'A/mu' : Item(status=' ', wc_rev='2'), '3449_spurious' : Item(status=' ', wc_rev='2'), 'iota' : Item(status=' ', wc_rev='2'), }) W: CWD: [...]/subversion-1.8.0-rc2/subversion/tests/cmdline W: EXCEPTION: SVNTreeUnequal Traceback (most recent call last): File "[...]/subversion-1.8.0-rc2/subversion/tests/cmdline/svntest/main.py", line 1550, in run rc = self.pred.run(sandbox) File "[...]/subversion-1.8.0-rc2/subversion/tests/cmdline/svntest/testcase.py", line 176, in run return self.func(sandbox) File "./diff_tests.py", line 3878, in no_spurious_conflict svntest.actions.run_and_verify_status(wc_dir, expected_status) File "[...]/subversion-1.8.0-rc2/subversion/tests/cmdline/svntest/actions.py", line 1479, in run_and_verify_status status_tree.compare_and_display('status', actual_status) File "[...]/subversion-1.8.0-rc2/subversion/tests/cmdline/svntest/wc.py", line 344, in compare_and_display raise svntest.tree.SVNTreeUnequal SVNTreeUnequal FAIL: diff_tests.py 60: no spurious conflict on update --- It seems that the test fails to prepare the working copy for the actual test. The "merge -c4 ^/" does not work as expected. Instead of merging the changes of file 3449_spurious into the working copy, only a svn:mergeinfo property is added to the working copy root. Revision 4 itself seems fine in the repository. "[...]/subversion/svn/svn diff -c4 ^/" appears to show the correct changes in 3449_spurious. Once the test fails, the incomplete merge is repeatable in directory subversion/tests/cmdline/svn-test-work/working_copies/diff_tests-60 by executing "[...]/subversion/svn/svn revert -R ." and then the merge again. The merge fails to update file 3449_spurious every time, no matter whether the last argument of the merge is "^/", "^/3449_spurious", "file://[...]/repositories/diff_tests-60/3449_spurious", or "file://[...]/repositories/diff_tests-60/3449_spurious". If the last argument refers to 3449_spurious, then a svn:mergeinfo property is added to file 3449_spurious in the working copy, otherwise the property is added to the root directory of the working copy. But the contents of file 3449_spurious are never changed :-(. (The file's timestamp doesn't change either.) However, once I execute "[...]/svn revert -R .", "[...]/svn update", and "[...]/svn update -r2" in the working copy, the merge works just fine afterwards. And that "update -r2" is exactly what no_spurious_conflict in diff_tests.py does before the faulty merge, if I'm reading the code correctly. Anyone else having this problem? Ideas are welcome... :-) Kind regards, TobiasReceived on 2013-05-23 11:14:22 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.