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

RE: svn commit: r1446548 - /subversion/trunk/subversion/tests/cmdline/update_tests.py

From: Bert Huijben <bert_at_qqmail.nl>
Date: Fri, 15 Feb 2013 14:03:08 +0100

> -----Original Message-----
> From: philip_at_apache.org [mailto:philip_at_apache.org]
> Sent: vrijdag 15 februari 2013 13:09
> To: commits_at_subversion.apache.org
> Subject: svn commit: r1446548 -
> /subversion/trunk/subversion/tests/cmdline/update_tests.py
>
> Author: philip
> Date: Fri Feb 15 12:08:54 2013
> New Revision: 1446548
>
> URL: http://svn.apache.org/r1446548
> Log:
> This test was updating 'A/E' but that path never exists, I think the
> path should be 'A/B/E' based on the rest of the test. The test is
> still XFAIL as for some reason the update reports two conflicts on
> 'A', otherwise the test would PASS.
>
> * subversion/tests/cmdline/update_tests.py
> (update_moved_away): Change the update target, tweak expectations.
>
> Modified:
> subversion/trunk/subversion/tests/cmdline/update_tests.py
>
> Modified: subversion/trunk/subversion/tests/cmdline/update_tests.py
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/
> update_tests.py?rev=1446548&r1=1446547&r2=1446548&view=diff
> ==========================================================
> ====================
> --- subversion/trunk/subversion/tests/cmdline/update_tests.py (original)
> +++ subversion/trunk/subversion/tests/cmdline/update_tests.py Fri Feb 15
> 12:08:54 2013
> @@ -6589,7 +6589,7 @@ def windows_update_backslash(sbox):
>
> @XFail()
> def update_moved_away(sbox):
> - "switch a moved away directory"
> + "update subtree of moved away"
>
> sbox.build()
> wc_dir = sbox.wc_dir
> @@ -6599,17 +6599,21 @@ def update_moved_away(sbox):
>
> sbox.simple_move('A', 'A_moved')
>
> + # Adding prev_status=' ' and prev_treeconflict='C' to A will make
> + # the test PASS but why are we getting two conflicts?
> expected_output = svntest.wc.State(wc_dir, {
> + 'A' : Item(status=' ', treeconflict='C'),
> })

Thanks for tweaking...

Yes, this looks strange. We had one conflict before your work (standard shadowed update). Is the other one caused by the revision bump?

>
> expected_disk = None
> - expected_status = expected_output = svntest.wc.State(wc_dir, {
> + expected_status = svntest.wc.State(wc_dir, {
> '' : Item(status=' ', wc_rev='1'),
> - 'A' : Item(status='D ', wc_rev='1', moved_to='A_moved'),
> + 'A' : Item(status='D ', wc_rev='1', moved_to='A_moved',
> + treeconflict='C'),
> 'A/B' : Item(status='D ', wc_rev='1'),
> - 'A/B/E' : Item(status='D ', wc_rev='1'),
> - 'A/B/E/beta' : Item(status='D ', wc_rev='1'),
> - 'A/B/E/alpha' : Item(status='D ', wc_rev='1'),
> + 'A/B/E' : Item(status='D ', wc_rev='2'),
> + 'A/B/E/beta' : Item(status='D ', wc_rev='2'),
> + 'A/B/E/alpha' : Item(status='D ', wc_rev='2'),
> 'A/B/F' : Item(status='D ', wc_rev='1'),
> 'A/B/lambda' : Item(status='D ', wc_rev='1'),
> 'A/D' : Item(status='D ', wc_rev='1'),
> @@ -6624,7 +6628,8 @@ def update_moved_away(sbox):
> 'A/D/gamma' : Item(status='D ', wc_rev='1'),
> 'A/C' : Item(status='D ', wc_rev='1'),
> 'A/mu' : Item(status='D ', wc_rev='1'),
> - 'A_moved' : Item(status='A ', copied='+', moved_from='A'),
> + 'A_moved' : Item(status='A ', copied='+', wc_rev='-',
> + moved_from='A'),
> 'A_moved/D' : Item(status=' ', copied='+', wc_rev='-'),
> 'A_moved/D/G' : Item(status=' ', copied='+', wc_rev='-'),
> 'A_moved/D/G/rho' : Item(status=' ', copied='+', wc_rev='-'),
> @@ -6636,7 +6641,7 @@ def update_moved_away(sbox):
> 'A_moved/D/H/chi' : Item(status=' ', copied='+', wc_rev='-'),
> 'A_moved/D/gamma' : Item(status=' ', copied='+', wc_rev='-'),
> 'A_moved/B' : Item(status=' ', copied='+', wc_rev='-'),
> - 'A_moved/B/E' : Item(status='A ', copied='+', wc_rev='-'),
> + 'A_moved/B/E' : Item(status=' ', copied='+', wc_rev='-'),

I added this one, to make sure we don't just accidentally upgrade the original revision of the descendants only, without adding an additional op-root.

I think this part should be covered in an additional test that tries to resolve the tree conflict.

> 'A_moved/B/E/beta' : Item(status=' ', copied='+', wc_rev='-'),
> 'A_moved/B/E/alpha' : Item(status=' ', copied='+', wc_rev='-'),
> 'A_moved/B/lambda' : Item(status=' ', copied='+', wc_rev='-'),
> @@ -6647,11 +6652,9 @@ def update_moved_away(sbox):
> 'new' : Item(status=' ', wc_rev='2'),
> })
>
> - # This update currently breaks the moved status away from the
> - # original location.
> -
> - # Either this update should fail (error/skip), or the moved from
> - # information should stay in sync. (A/E should be its own op-depth)
> + # This update raises a tree-conflict on A. The conflict cannot be
> + # resolved to update the move destination because the move source is
> + # mixed rev.

Is it easy to test that resolving fails?

Run 'svn resolve --accept something' and verify the error?

(Away from my pc... spending time with my sons)

        Bert
Received on 2013-02-15 14:03:56 CET

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

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