On Thu, May 16, 2013 at 11:32 AM, Stefan Sperling <s...@elego.de> wrote:
> On Thu, May 16, 2013 at 05:07:08PM +0200, Bert Huijben wrote:
>> I think we still do, but how can we determine if an incoming 'delete
>> <this-exact-tree>' should apply to a node that is not there?
>
> It sounds like you are still talking about a merge into a sparse WC?
> But that is not the problem, as Paul pointed out. The node to be
> deleted is there during the merge into an infinite depth WC.
>
> Anyway, I believe the shallow merge is a red herring.
>
> During the merge at infinite depth, the tree to be deleted no the
> branch does not match the tree deleted on the trunk:
>
> $ svn diff ^/A/B/E@6 A_COPY/B/E
> Index: A_COPY/B/E/beta
> ===================================================================
> --- A_COPY/B/E/beta     
> (file:///home/stsp/svn/svn-trunk/subversion/tests/cmdline/svn-test-work/repositories/merge_tests-139/A/B/E)
>      (revision 6)
> +++ A_COPY/B/E/beta     (.../A_COPY/B/E)        (working copy)
> @@ -1 +1 @@
> -New content
> \ No newline at end of file
> +This is the file 'beta'.
>
> So I agree that the tree conflict flagged at the end of Paul's test
> is warranted. The merge is not deleting the same tree as it was
> deleting on trunk.
>
> If I tweak the test to not run a shallow merge, as below, the test
> fails in the same way.
>
> $ svn diff
> Index: merge_tests.py
> ===================================================================
> --- merge_tests.py      (revision 1483398)
> +++ merge_tests.py      (working copy)
> @@ -19026,8 +19026,8 @@ def merge_to_empty_target_merge_to_infinite_target
>    sbox.simple_commit()
>
>    # r3 - Set depth of A_COPY to empty, merge the r3 from ^/A.
> -  svntest.actions.run_and_verify_svn(None, None, [], 'up',
> -                                     '--set-depth=empty', A_COPY_path)
> +  #svntest.actions.run_and_verify_svn(None, None, [], 'up',
> +  #                                   '--set-depth=empty', A_COPY_path)
>    svntest.actions.run_and_verify_svn(None, None, [], 'merge', '-c7',
>                                       '^/A', A_COPY_path)
>    sbox.simple_commit()

Doh!  /me slaps self on forehead

Ok, I'm with you on now.  My test's expectations are flawed.  But
Bob's script is a different beast, there is a real problem there.  I
will rewrite the test to demonstrate his scenario.

--
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba

Reply via email to