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

Re: Sparse working copy in 1.8.0 causes problems for others' merges; 1.7.x didn't complain

From: Paul Burba <ptburba_at_gmail.com>
Date: Thu, 16 May 2013 16:56:22 -0400

On Thu, May 16, 2013 at 11:38 AM, Paul Burba <ptburba_at_gmail.com> wrote:
> On Thu, May 16, 2013 at 11:32 AM, Stefan Sperling <stsp_at_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_at_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.

r1483555

--
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba
Received on 2013-05-16 22:56:55 CEST

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