[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: Stefan Sperling <stsp_at_elego.de>
Date: Thu, 16 May 2013 17:32:44 +0200

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()
Received on 2013-05-16 17:33:21 CEST

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