Index: subversion/tests/cmdline/update_tests.py
===================================================================
--- subversion/tests/cmdline/update_tests.py	(revision 32609)
+++ subversion/tests/cmdline/update_tests.py	(working copy)
@@ -3947,25 +3947,21 @@
 # edited or deleted in a deep directory structure.
 #
 # See use cases 1-3 in notes/tree-conflicts/use-cases.txt for background.
-#
-def tree_conflicts_on_update(sbox):
-  "tree conflicts on update (tc use cases 1 to 3)"
 
-  # Each case is constructed and then appended to this table, which
-  # is initially empty:
-  greater_scheme = [];
+# convenience definitions
+leaf_edit = svntest.actions.deep_trees_leaf_edit
+tree_del = svntest.actions.deep_trees_tree_del
+leaf_del = svntest.actions.deep_trees_leaf_del
 
-  # convenience definitions
-  leaf_edit = svntest.actions.deep_trees_leaf_edit
-  tree_del = svntest.actions.deep_trees_tree_del
-  leaf_del = svntest.actions.deep_trees_leaf_del
+state_after_leaf_edit = svntest.actions.deep_trees_after_leaf_edit
+state_after_leaf_del = svntest.actions.deep_trees_after_leaf_del
+state_after_tree_del = svntest.actions.deep_trees_after_tree_del
 
-  state_after_leaf_edit = svntest.actions.deep_trees_after_leaf_edit
-  state_after_leaf_del = svntest.actions.deep_trees_after_leaf_del
-  state_after_tree_del = svntest.actions.deep_trees_after_tree_del
+DeepTreesTestCase = svntest.actions.DeepTreesTestCase
 
-  DeepTreesTestCase = svntest.actions.DeepTreesTestCase
 
+def tree_conflicts_on_update_1_1(sbox):
+  "tree conflicts on update 1.1"
 
   # use case 1, as in notes/tree-conflicts/use-cases.txt
   # 1.1) local tree delete, incoming leaf edit
@@ -4018,14 +4014,18 @@
     'DDD/D1/D2/D3/zeta' : Item(status='  ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_leaf_edit",
-                                        tree_del,
-                                        leaf_edit,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_update(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_leaf_edit",
+                        tree_del,
+                        leaf_edit,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
+def tree_conflicts_on_update_1_2(sbox):
+  "tree conflicts on update 1.2"
+
   # 1.2) local tree delete, incoming leaf delete
 
   expected_output = wc.State('', {
@@ -4067,14 +4067,19 @@
     'DDD/D1/D2'         : Item(status='D ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_leaf_del",
-                                        tree_del,
-                                        leaf_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_update(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_leaf_del",
+                        tree_del,
+                        leaf_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
+
+def tree_conflicts_on_update_2_1(sbox):
+  "tree conflicts on update 2.1"
+
   # use case 2, as in notes/tree-conflicts/use-cases.txt
   # 2.1) local leaf edit, incoming tree delete
 
@@ -4100,14 +4105,19 @@
     'DDD'               : Item(status='  ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_leaf_edit_incoming_tree_del",
-                                        leaf_edit,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_update(sbox,
+    [ DeepTreesTestCase("local_leaf_edit_incoming_tree_del",
+                        leaf_edit,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
+
+def tree_conflicts_on_update_2_2(sbox):
+  "tree conflicts on update 2.2"
+
   # 2.2) local leaf delete, incoming tree delete
 
   expected_output = wc.State('', {
@@ -4137,14 +4147,19 @@
     'D'                 : Item(status='C ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_leaf_del_incoming_tree_del",
-                                        leaf_del,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_update(sbox,
+    [ DeepTreesTestCase("local_leaf_del_incoming_tree_del",
+                        leaf_del,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
+
+def tree_conflicts_on_update_3(sbox):
+  "tree conflicts on update 3"
+
   # use case 3, as in notes/tree-conflicts/use-cases.txt
   # local tree delete, incoming tree delete
 
@@ -4175,19 +4190,16 @@
     'DDD'               : Item(status='C ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_tree_del",
-                                        tree_del,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_update(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_tree_del",
+                        tree_del,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
-  # now run the whole bunch of them.
-  svntest.actions.deep_trees_run_tests_scheme_for_update(sbox, greater_scheme)
 
-
-
 #######################################################################
 # Run the tests
 
@@ -4242,7 +4254,11 @@
               eof_in_interactive_conflict_resolver,
               update_uuid_changed,
               XFail(restarted_update_should_delete_dir_prop),
-              tree_conflicts_on_update,
+              tree_conflicts_on_update_1_1,
+              tree_conflicts_on_update_1_2,
+              tree_conflicts_on_update_2_1,
+              tree_conflicts_on_update_2_2,
+              tree_conflicts_on_update_3,
              ]
 
 if __name__ == '__main__':
Index: subversion/tests/cmdline/switch_tests.py
===================================================================
--- subversion/tests/cmdline/switch_tests.py	(revision 32609)
+++ subversion/tests/cmdline/switch_tests.py	(working copy)
@@ -2118,27 +2118,23 @@
 # Note that we do not try to track renames.  The only difference from
 # the behavior of Subversion 1.4 and 1.5 is the conflicted status of the
 # parent directory.
-#
-def tree_conflicts_on_switch(sbox):
-  "tree conflicts on switch (tc use cases 1 to 3)"
 
-  # Each case is constructed and then appended to the table, which
-  # is initially empty:
-  greater_scheme = [];
+# convenience definitions
+leaf_edit = svntest.actions.deep_trees_leaf_edit
+tree_del = svntest.actions.deep_trees_tree_del
+leaf_del = svntest.actions.deep_trees_leaf_del
 
-  # convenience definitions
-  leaf_edit = svntest.actions.deep_trees_leaf_edit
-  tree_del = svntest.actions.deep_trees_tree_del
-  leaf_del = svntest.actions.deep_trees_leaf_del
+state_after_leaf_edit = svntest.actions.deep_trees_after_leaf_edit
+state_after_leaf_del = svntest.actions.deep_trees_after_leaf_del
+state_after_tree_del = svntest.actions.deep_trees_after_tree_del
 
-  state_after_leaf_edit = svntest.actions.deep_trees_after_leaf_edit
-  state_after_leaf_del = svntest.actions.deep_trees_after_leaf_del
-  state_after_tree_del = svntest.actions.deep_trees_after_tree_del
+j = os.path.join
 
-  j = os.path.join
+DeepTreesTestCase = svntest.actions.DeepTreesTestCase
 
-  DeepTreesTestCase = svntest.actions.DeepTreesTestCase
 
+def tree_conflicts_on_switch_1_1(sbox):
+  "tree conflicts on switch 1.1"
 
   # use case 1, as in notes/tree-conflicts/use-cases.txt
   # 1.1) local tree delete, incoming leaf edit
@@ -2194,14 +2190,18 @@
     'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_leaf_edit",
-                                        tree_del,
-                                        leaf_edit,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_switch(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_leaf_edit",
+                        tree_del,
+                        leaf_edit,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
+def tree_conflicts_on_switch_1_2(sbox):
+  "tree conflicts on switch 1.2"
+
   # 1.2) local tree delete, incoming leaf delete
 
   expected_output = svntest.wc.State('', {
@@ -2243,14 +2243,18 @@
     'DDF/D1/D2'         : Item(status='D ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_leaf_del",
-                                        tree_del,
-                                        leaf_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_switch(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_leaf_del",
+                        tree_del,
+                        leaf_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
+def tree_conflicts_on_switch_2_1(sbox):
+  "tree conflicts on switch 2.1"
+
   # use case 2, as in notes/tree-conflicts/use-cases.txt
   # 2.1) local leaf edit, incoming tree delete
 
@@ -2261,6 +2265,8 @@
   #       In order to get reliable checks for all of the subdirs in a
   #       deep_trees setup, each of the subdirs has to be checked on its
   #       own.
+
+  greater_scheme = []
   
   # Separate action functions for each subdir:
 
@@ -2380,7 +2386,13 @@
                                         tree_del_DDD,
                                         error_re_string = error_re_string) ]
 
+  svntest.actions.deep_trees_run_tests_scheme_for_switch(sbox,
+                                                         greater_scheme)
 
+
+def tree_conflicts_on_switch_2_2(sbox):
+  "tree conflicts on switch 2.2"
+
   # 2.2) local leaf delete, incoming tree delete
 
   expected_output = svntest.wc.State('', {
@@ -2410,14 +2422,18 @@
     'DDF'               : Item(status='  ', wc_rev='3'),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_leaf_del_incoming_tree_del",
-                                        leaf_del,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_switch(sbox,
+    [ DeepTreesTestCase("local_leaf_del_incoming_tree_del",
+                        leaf_del,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
+def tree_conflicts_on_switch_3(sbox):
+  "tree conflicts on switch 3"
+
   # use case 3, as in notes/tree-conflicts/use-cases.txt
   # local tree delete, incoming tree delete
 
@@ -2449,19 +2465,17 @@
     })
 
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_tree_del",
-                                        tree_del,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_switch(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_tree_del",
+                        tree_del,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status) ] )
 
 
-  # now run the whole bunch of them.
-  svntest.actions.deep_trees_run_tests_scheme_for_switch(sbox, greater_scheme)
 
 
-
 ########################################################################
 # Run the tests
 
@@ -2496,7 +2510,11 @@
               switch_urls_with_spaces,
               switch_to_dir_with_peg_rev2,
               switch_to_root,
-              tree_conflicts_on_switch,
+              tree_conflicts_on_switch_1_1,
+              tree_conflicts_on_switch_1_2,
+              tree_conflicts_on_switch_2_1,
+              tree_conflicts_on_switch_2_2,
+              tree_conflicts_on_switch_3,
              ]
 
 if __name__ == '__main__':
Index: subversion/tests/cmdline/merge_tests.py
===================================================================
--- subversion/tests/cmdline/merge_tests.py	(revision 32609)
+++ subversion/tests/cmdline/merge_tests.py	(working copy)
@@ -12923,31 +12923,33 @@
 # Note that we do not try to track renames.  The only difference from
 # the behavior of Subversion 1.4 and 1.5 is the conflicted status of the
 # parent directory.
-#
-def tree_conflicts_on_merge_local_ci(sbox):
-  "tree conflicts on merge, local commit (tc 4-6)"
 
-  # Each case is constructed and then appended to the table, which
-  # is initially empty:
-  greater_scheme = [];
+# convenience definitions
+leaf_edit = svntest.actions.deep_trees_leaf_edit
+tree_del = svntest.actions.deep_trees_tree_del
+leaf_del = svntest.actions.deep_trees_leaf_del
 
-  # convenience definitions
-  leaf_edit = svntest.actions.deep_trees_leaf_edit
-  tree_del = svntest.actions.deep_trees_tree_del
-  leaf_del = svntest.actions.deep_trees_leaf_del
+state_after_leaf_edit = svntest.actions.deep_trees_after_leaf_edit
+state_after_leaf_del = svntest.actions.deep_trees_after_leaf_del
+state_after_tree_del = svntest.actions.deep_trees_after_tree_del
 
-  state_after_leaf_edit = svntest.actions.deep_trees_after_leaf_edit
-  state_after_leaf_del = svntest.actions.deep_trees_after_leaf_del
-  state_after_tree_del = svntest.actions.deep_trees_after_tree_del
+j = os.path.join
 
-  j = os.path.join
+DeepTreesTestCase = svntest.actions.DeepTreesTestCase
 
-  DeepTreesTestCase = svntest.actions.DeepTreesTestCase
+alpha_beta_gamma = svntest.wc.State('', {
+  'F/alpha'           : Item(),
+  'DF/D1/beta'        : Item(),
+  'DDF/D1/D2/gamma'   : Item(),
+  })
 
 
-  # use case 1, as in notes/tree-conflicts/use-cases.txt
-  # 1.1) local tree delete, incoming leaf edit
+def tree_conflicts_on_merge_local_ci_4_1(sbox):
+  "tree conflicts on merge, local commit 4.1"
 
+  # use case 4, as in notes/tree-conflicts/use-cases.txt
+  # 4.1) local tree delete, incoming leaf edit
+
   expected_output = svntest.wc.State('', {
     'F'                 : Item(status='C '),
     'D'                 : Item(status='C '),
@@ -12960,13 +12962,13 @@
   expected_disk = state_after_tree_del
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'DF'                : Item(status='C ', wc_rev='7'),
-    'DD'                : Item(status='C ', wc_rev='7'),
-    'DDF'               : Item(status='C ', wc_rev='7'),
-    'DDD'               : Item(status='C ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'DF'                : Item(status='C ', wc_rev='3'),
+    'DD'                : Item(status='C ', wc_rev='3'),
+    'DDF'               : Item(status='C ', wc_rev='3'),
+    'DDD'               : Item(status='C ', wc_rev='3'),
     })
 
   expected_skip = svntest.wc.State('', {
@@ -12978,16 +12980,21 @@
     'DDD/D1/D2/D3/zeta' : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_leaf_edit",
-                                        tree_del,
-                                        leaf_edit,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status,
-                                        expected_skip) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_leaf_edit",
+                        tree_del,
+                        leaf_edit,
+                        expected_output,
+                        expected_disk,
+                        expected_status,
+                        expected_skip) ], True)
 
-  # 1.2) local tree delete, incoming leaf delete
 
+def tree_conflicts_on_merge_local_ci_4_2(sbox):
+  "tree conflicts on merge, local commit 4.2"
+
+  # 4.2) local tree delete, incoming leaf delete
+
   expected_output = svntest.wc.State('', {
     'F'                 : Item(status='C '),
     'D'                 : Item(status='C '),
@@ -13000,13 +13007,13 @@
   expected_disk = state_after_tree_del
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'DF'                : Item(status='C ', wc_rev='7'),
-    'DD'                : Item(status='C ', wc_rev='7'),
-    'DDF'               : Item(status='C ', wc_rev='7'),
-    'DDD'               : Item(status='C ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'DF'                : Item(status='C ', wc_rev='3'),
+    'DD'                : Item(status='C ', wc_rev='3'),
+    'DDF'               : Item(status='C ', wc_rev='3'),
+    'DDD'               : Item(status='C ', wc_rev='3'),
     })
 
   expected_skip = svntest.wc.State('', {
@@ -13018,20 +13025,24 @@
     'DDD/D1/D2/D3'      : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_leaf_del",
-                                        tree_del,
-                                        leaf_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status,
-                                        expected_skip) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_leaf_del",
+                        tree_del,
+                        leaf_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status,
+                        expected_skip) ], True)
 
 
 
 
-  # use case 2, as in notes/tree-conflicts/use-cases.txt
-  # 2.1) local leaf edit, incoming tree delete
+def tree_conflicts_on_merge_local_ci_5_1(sbox):
+  "tree conflicts on merge, local commit 5.1"
 
+  # use case 5, as in notes/tree-conflicts/use-cases.txt
+  # 5.1) local leaf edit, incoming tree delete
+
   expected_output = svntest.wc.State('', {
     'D'                 : Item(),
     'D/D1'              : Item(status='D '),
@@ -13066,45 +13077,49 @@
     })
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'D'                 : Item(status='  ', wc_rev='7'),
-    'D/D1'              : Item(status='D ', wc_rev='7'),
-    'D/D1/delta'        : Item(status='D ', wc_rev='8'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'F/alpha'           : Item(status=' M', wc_rev='8'),
-    'DD'                : Item(status='  ', wc_rev='7'),
-    'DD/D1'             : Item(status='D ', wc_rev='7'),
-    'DD/D1/D2'          : Item(status='D ', wc_rev='7'),
-    'DD/D1/D2/epsilon'  : Item(status='D ', wc_rev='8'),
-    'DF'                : Item(status='  ', wc_rev='7'),
-    'DF/D1'             : Item(status='D ', wc_rev='7'),
-    'DF/D1/beta'        : Item(status='D ', wc_rev='8'),
-    'DDD'               : Item(status='  ', wc_rev='7'),
-    'DDD/D1'            : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2/D3/zeta' : Item(status='D ', wc_rev='8'),
-    'DDF'               : Item(status='  ', wc_rev='7'),
-    'DDF/D1'            : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='8'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'D'                 : Item(status='  ', wc_rev='3'),
+    'D/D1'              : Item(status='D ', wc_rev='3'),
+    'D/D1/delta'        : Item(status='D ', wc_rev='4'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'F/alpha'           : Item(status=' M', wc_rev='4'),
+    'DD'                : Item(status='  ', wc_rev='3'),
+    'DD/D1'             : Item(status='D ', wc_rev='3'),
+    'DD/D1/D2'          : Item(status='D ', wc_rev='3'),
+    'DD/D1/D2/epsilon'  : Item(status='D ', wc_rev='4'),
+    'DF'                : Item(status='  ', wc_rev='3'),
+    'DF/D1'             : Item(status='D ', wc_rev='3'),
+    'DF/D1/beta'        : Item(status='D ', wc_rev='4'),
+    'DDD'               : Item(status='  ', wc_rev='3'),
+    'DDD/D1'            : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2/D3/zeta' : Item(status='D ', wc_rev='4'),
+    'DDF'               : Item(status='  ', wc_rev='3'),
+    'DDF/D1'            : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='4'),
     })
 
   expected_skip = svntest.wc.State('', {
     'F/alpha'           : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_leaf_edit_incoming_tree_del",
-                                        leaf_edit,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status,
-                                        expected_skip) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase("local_leaf_edit_incoming_tree_del",
+                        leaf_edit,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status,
+                        expected_skip) ], True)
 
 
-  # 2.2) local leaf del, incoming tree delete
+def tree_conflicts_on_merge_local_ci_5_2(sbox):
+  "tree conflicts on merge, local commit 5.2"
 
+  # 5.2) local leaf del, incoming tree delete
+
   expected_output = svntest.wc.State('', {
     'D'                 : Item(status='C '),
     'F'                 : Item(status='C '),
@@ -13129,19 +13144,19 @@
     })
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'DD'                : Item(status='  ', wc_rev='7'),
-    'DD/D1'             : Item(status='D ', wc_rev='7'),
-    'DF'                : Item(status='  ', wc_rev='7'),
-    'DF/D1'             : Item(status='D ', wc_rev='7'),
-    'DDD'               : Item(status='  ', wc_rev='7'),
-    'DDD/D1'            : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDF'               : Item(status='  ', wc_rev='7'),
-    'DDF/D1'            : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2'         : Item(status='D ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'DD'                : Item(status='  ', wc_rev='3'),
+    'DD/D1'             : Item(status='D ', wc_rev='3'),
+    'DF'                : Item(status='  ', wc_rev='3'),
+    'DF/D1'             : Item(status='D ', wc_rev='3'),
+    'DDD'               : Item(status='  ', wc_rev='3'),
+    'DDD/D1'            : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDF'               : Item(status='  ', wc_rev='3'),
+    'DDF/D1'            : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2'         : Item(status='D ', wc_rev='3'),
     })
 
   expected_skip = svntest.wc.State('', {
@@ -13149,16 +13164,20 @@
     'D/D1'              : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_leaf_del_incoming_tree_del",
-                                        leaf_del,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status,
-                                        expected_skip) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase("local_leaf_del_incoming_tree_del",
+                        leaf_del,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status,
+                        expected_skip) ], True)
 
 
-  # use case 3, as in notes/tree-conflicts/use-cases.txt
+def tree_conflicts_on_merge_local_ci_6(sbox):
+  "tree conflicts on merge, local commit 6"
+
+  # use case 6, as in notes/tree-conflicts/use-cases.txt
   # local tree delete, incoming tree delete
 
   expected_output = svntest.wc.State('', {
@@ -13173,13 +13192,13 @@
   expected_disk = state_after_tree_del
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'DD'                : Item(status='C ', wc_rev='7'),
-    'DF'                : Item(status='C ', wc_rev='7'),
-    'DDD'               : Item(status='C ', wc_rev='7'),
-    'DDF'               : Item(status='C ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'DD'                : Item(status='C ', wc_rev='3'),
+    'DF'                : Item(status='C ', wc_rev='3'),
+    'DDD'               : Item(status='C ', wc_rev='3'),
+    'DDF'               : Item(status='C ', wc_rev='3'),
     })
 
   expected_skip = svntest.wc.State('', {
@@ -13191,45 +13210,24 @@
     'DDF/D1'            : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase("local_tree_del_incoming_tree_del",
-                                        tree_del,
-                                        tree_del,
-                                        expected_output,
-                                        expected_disk,
-                                        expected_status,
-                                        expected_skip) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase("local_tree_del_incoming_tree_del",
+                        tree_del,
+                        tree_del,
+                        expected_output,
+                        expected_disk,
+                        expected_status,
+                        expected_skip) ], True)
 
 
-  # now run the whole bunch of them.
-  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox, greater_scheme,
-                                                        True)
-
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
-def tree_conflicts_on_merge_no_local_ci(sbox):
-  "tree conflicts on merge, NO local commit (tc 4-6)"
+def tree_conflicts_on_merge_no_local_ci_4_1(sbox):
+  "tree conflicts on merge, NO local commit 4.1"
 
-  # Each case is constructed and then appended to the table, which
-  # is initially empty:
-  greater_scheme = [];
+  # use case 4, as in notes/tree-conflicts/use-cases.txt
+  # 4.1) local tree delete, incoming leaf edit
 
-  # convenience definitions
-  leaf_edit = svntest.actions.deep_trees_leaf_edit
-  tree_del = svntest.actions.deep_trees_tree_del
-  leaf_del = svntest.actions.deep_trees_leaf_del
-
-  state_after_leaf_edit = svntest.actions.deep_trees_after_leaf_edit
-  state_after_leaf_del = svntest.actions.deep_trees_after_leaf_del
-  state_after_tree_del = svntest.actions.deep_trees_after_tree_del
-
-  j = os.path.join
-
-  DeepTreesTestCase = svntest.actions.DeepTreesTestCase
-
-
-  # use case 1, as in notes/tree-conflicts/use-cases.txt
-  # 1.1) local tree delete, incoming leaf edit
-
   expected_output = svntest.wc.State('', {
     'F'                 : Item(status='C '),
     'D'                 : Item(status='C '),
@@ -13261,50 +13259,49 @@
     })
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'F/alpha'           : Item(status='D ', wc_rev='7'),
-    'DD'                : Item(status='C ', wc_rev='7'),
-    'DD/D1'             : Item(status='D ', wc_rev='7'),
-    'DD/D1/D2'          : Item(status='D ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'F/alpha'           : Item(status='D ', wc_rev='3'),
+    'DD'                : Item(status='C ', wc_rev='3'),
+    'DD/D1'             : Item(status='D ', wc_rev='3'),
+    'DD/D1/D2'          : Item(status='D ', wc_rev='3'),
     'DD/D1/D2/epsilon'  : Item(status='A ', copied='+', wc_rev='-'),
-    'DF'                : Item(status='C ', wc_rev='7'),
-    'DF/D1'             : Item(status='D ', wc_rev='7'),
-    'DF/D1/beta'        : Item(status='D ', wc_rev='7'),
-    'DDD'               : Item(status='C ', wc_rev='7'),
-    'DDD/D1'            : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='7'),
+    'DF'                : Item(status='C ', wc_rev='3'),
+    'DF/D1'             : Item(status='D ', wc_rev='3'),
+    'DF/D1/beta'        : Item(status='D ', wc_rev='3'),
+    'DDD'               : Item(status='C ', wc_rev='3'),
+    'DDD/D1'            : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='3'),
     'DDD/D1/D2/D3/zeta' : Item(status='A ', copied='+', wc_rev='-'),
-    'DDF'               : Item(status='C ', wc_rev='7'),
-    'DDF/D1'            : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'D/D1'              : Item(status='D ', wc_rev='7'),
+    'DDF'               : Item(status='C ', wc_rev='3'),
+    'DDF/D1'            : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'D/D1'              : Item(status='D ', wc_rev='3'),
     'D/D1/delta'        : Item(status='A ', copied='+', wc_rev='-'),
     })
 
-  alpha_beta_gamma = svntest.wc.State('', {
-    'F/alpha'           : Item(),
-    'DF/D1/beta'        : Item(),
-    'DDF/D1/D2/gamma'   : Item(),
-    })
-
   expected_skip = alpha_beta_gamma
 
-  greater_scheme += [ DeepTreesTestCase(
-                               "local_tree_del_incoming_leaf_edit",
-                               tree_del,
-                               leaf_edit,
-                               expected_output,
-                               expected_disk,
-                               expected_status,
-                               expected_skip,
-                             ) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase(
+               "local_tree_del_incoming_leaf_edit",
+               tree_del,
+               leaf_edit,
+               expected_output,
+               expected_disk,
+               expected_status,
+               expected_skip,
+             ) ], False)
 
-  # 1.2) local tree delete, incoming leaf delete
 
+def tree_conflicts_on_merge_no_local_ci_4_2(sbox):
+  "tree conflicts on merge, NO local commit 4.2"
+
+  # 4.2) local tree delete, incoming leaf delete
+
   expected_output = svntest.wc.State('', {
     'F'                 : Item(status='C '),
     'D'                 : Item(status='C '),
@@ -13333,45 +13330,50 @@
     })
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'F/alpha'           : Item(status='D ', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'D/D1'              : Item(status='D ', wc_rev='7'),
-    'DF'                : Item(status='C ', wc_rev='7'),
-    'DF/D1'             : Item(status='D ', wc_rev='7'),
-    'DF/D1/beta'        : Item(status='D ', wc_rev='7'),
-    'DD'                : Item(status='C ', wc_rev='7'),
-    'DD/D1'             : Item(status='D ', wc_rev='7'),
-    'DD/D1/D2'          : Item(status='D ', wc_rev='7'),
-    'DDF'               : Item(status='C ', wc_rev='7'),
-    'DDF/D1'            : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='7'),
-    'DDD'               : Item(status='C ', wc_rev='7'),
-    'DDD/D1'            : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'F/alpha'           : Item(status='D ', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'D/D1'              : Item(status='D ', wc_rev='3'),
+    'DF'                : Item(status='C ', wc_rev='3'),
+    'DF/D1'             : Item(status='D ', wc_rev='3'),
+    'DF/D1/beta'        : Item(status='D ', wc_rev='3'),
+    'DD'                : Item(status='C ', wc_rev='3'),
+    'DD/D1'             : Item(status='D ', wc_rev='3'),
+    'DD/D1/D2'          : Item(status='D ', wc_rev='3'),
+    'DDF'               : Item(status='C ', wc_rev='3'),
+    'DDF/D1'            : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='3'),
+    'DDD'               : Item(status='C ', wc_rev='3'),
+    'DDD/D1'            : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='3'),
     })
 
   expected_skip = alpha_beta_gamma
 
-  greater_scheme += [ DeepTreesTestCase(
-                               "local_tree_del_incoming_leaf_del",
-                               tree_del,
-                               leaf_del,
-                               expected_output,
-                               expected_disk,
-                               expected_status,
-                               expected_skip,
-                             ) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase(
+               "local_tree_del_incoming_leaf_del",
+               tree_del,
+               leaf_del,
+               expected_output,
+               expected_disk,
+               expected_status,
+               expected_skip,
+             ) ], False)
 
 
 
 
-  # use case 2, as in notes/tree-conflicts/use-cases.txt
-  # 2.1) local leaf edit, incoming tree delete
+def tree_conflicts_on_merge_no_local_ci_5_1(sbox):
+  "tree conflicts on merge, NO local commit 5.1"
 
+
+  # use case 5, as in notes/tree-conflicts/use-cases.txt
+  # 5.1) local leaf edit, incoming tree delete
+
   expected_output = svntest.wc.State('', {
     'F'                 : Item(status='C '),
     })
@@ -13379,28 +13381,28 @@
   expected_disk = state_after_leaf_edit
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'D'                 : Item(status='  ', wc_rev='7'),
-    'D/D1'              : Item(status=' M', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'D'                 : Item(status='  ', wc_rev='3'),
+    'D/D1'              : Item(status=' M', wc_rev='3'),
     'D/D1/delta'        : Item(status='A ', wc_rev='0'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'F/alpha'           : Item(status='MM', wc_rev='7'),
-    'DD'                : Item(status='  ', wc_rev='7'),
-    'DD/D1'             : Item(status=' M', wc_rev='7'),
-    'DD/D1/D2'          : Item(status='  ', wc_rev='7'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'F/alpha'           : Item(status='MM', wc_rev='3'),
+    'DD'                : Item(status='  ', wc_rev='3'),
+    'DD/D1'             : Item(status=' M', wc_rev='3'),
+    'DD/D1/D2'          : Item(status='  ', wc_rev='3'),
     'DD/D1/D2/epsilon'  : Item(status='A ', wc_rev='0'),
-    'DF'                : Item(status='  ', wc_rev='7'),
-    'DF/D1'             : Item(status=' M', wc_rev='7'),
-    'DF/D1/beta'        : Item(status='M ', wc_rev='7'),
-    'DDD'               : Item(status='  ', wc_rev='7'),
-    'DDD/D1'            : Item(status=' M', wc_rev='7'),
-    'DDD/D1/D2'         : Item(status='  ', wc_rev='7'),
-    'DDD/D1/D2/D3'      : Item(status='  ', wc_rev='7'),
+    'DF'                : Item(status='  ', wc_rev='3'),
+    'DF/D1'             : Item(status=' M', wc_rev='3'),
+    'DF/D1/beta'        : Item(status='M ', wc_rev='3'),
+    'DDD'               : Item(status='  ', wc_rev='3'),
+    'DDD/D1'            : Item(status=' M', wc_rev='3'),
+    'DDD/D1/D2'         : Item(status='  ', wc_rev='3'),
+    'DDD/D1/D2/D3'      : Item(status='  ', wc_rev='3'),
     'DDD/D1/D2/D3/zeta' : Item(status='A ', wc_rev='0'),
-    'DDF'               : Item(status='  ', wc_rev='7'),
-    'DDF/D1'            : Item(status=' M', wc_rev='7'),
-    'DDF/D1/D2'         : Item(status='  ', wc_rev='7'),
-    'DDF/D1/D2/gamma'   : Item(status='M ', wc_rev='7'),
+    'DDF'               : Item(status='  ', wc_rev='3'),
+    'DDF/D1'            : Item(status=' M', wc_rev='3'),
+    'DDF/D1/D2'         : Item(status='  ', wc_rev='3'),
+    'DDF/D1/D2/gamma'   : Item(status='M ', wc_rev='3'),
     })
 
   expected_skip = svntest.wc.State('', {
@@ -13412,19 +13414,23 @@
     'DDF/D1'            : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase(
-                               "local_leaf_edit_incoming_tree_del",
-                               leaf_edit,
-                               tree_del,
-                               expected_output,
-                               expected_disk,
-                               expected_status,
-                               expected_skip,
-                             ) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase(
+               "local_leaf_edit_incoming_tree_del",
+               leaf_edit,
+               tree_del,
+               expected_output,
+               expected_disk,
+               expected_status,
+               expected_skip,
+             ) ], False)
 
 
-  # 2.2) local leaf del, incoming tree delete
+def tree_conflicts_on_merge_no_local_ci_5_2(sbox):
+  "tree conflicts on merge, NO local commit 5.2"
 
+  # 5.2) local leaf del, incoming tree delete
+
   expected_output = svntest.wc.State('', {
     'D'                 : Item(status='C '),
     'D/D1'              : Item(status='D '),
@@ -13450,43 +13456,47 @@
     })
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'F/alpha'           : Item(status='D ', wc_rev='7'),
-    'DD'                : Item(status='  ', wc_rev='7'),
-    'DD/D1'             : Item(status='D ', wc_rev='7'),
-    'DD/D1/D2'          : Item(status='D ', wc_rev='7'),
-    'DF'                : Item(status='  ', wc_rev='7'),
-    'DF/D1'             : Item(status='D ', wc_rev='7'),
-    'DF/D1/beta'        : Item(status='D ', wc_rev='7'),
-    'DDD'               : Item(status='  ', wc_rev='7'),
-    'DDD/D1'            : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='7'),
-    'DDF'               : Item(status='  ', wc_rev='7'),
-    'DDF/D1'            : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'D/D1'              : Item(status='D ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'F/alpha'           : Item(status='D ', wc_rev='3'),
+    'DD'                : Item(status='  ', wc_rev='3'),
+    'DD/D1'             : Item(status='D ', wc_rev='3'),
+    'DD/D1/D2'          : Item(status='D ', wc_rev='3'),
+    'DF'                : Item(status='  ', wc_rev='3'),
+    'DF/D1'             : Item(status='D ', wc_rev='3'),
+    'DF/D1/beta'        : Item(status='D ', wc_rev='3'),
+    'DDD'               : Item(status='  ', wc_rev='3'),
+    'DDD/D1'            : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='3'),
+    'DDF'               : Item(status='  ', wc_rev='3'),
+    'DDF/D1'            : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'D/D1'              : Item(status='D ', wc_rev='3'),
     })
 
   expected_skip = svntest.wc.State('', {
     'F/alpha'           : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase(
-                               "local_leaf_del_incoming_tree_del",
-                               leaf_del,
-                               tree_del,
-                               expected_output,
-                               expected_disk,
-                               expected_status,
-                               expected_skip,
-                             ) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase(
+               "local_leaf_del_incoming_tree_del",
+               leaf_del,
+               tree_del,
+               expected_output,
+               expected_disk,
+               expected_status,
+               expected_skip,
+             ) ], False)
 
 
-  # use case 3, as in notes/tree-conflicts/use-cases.txt
+def tree_conflicts_on_merge_no_local_ci_6(sbox):
+  "tree conflicts on merge, NO local commit 6"
+
+  # use case 6, as in notes/tree-conflicts/use-cases.txt
   # local tree delete, incoming tree delete
 
   expected_output = svntest.wc.State('', {
@@ -13513,48 +13523,45 @@
     })
 
   expected_status = svntest.wc.State('', {
-    ''                  : Item(status=' M', wc_rev='7'),
-    'DDF'               : Item(status='C ', wc_rev='7'),
-    'DDF/D1'            : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='7'),
-    'D'                 : Item(status='C ', wc_rev='7'),
-    'D/D1'              : Item(status='D ', wc_rev='7'),
-    'F'                 : Item(status='C ', wc_rev='7'),
-    'F/alpha'           : Item(status='D ', wc_rev='7'),
-    'DD'                : Item(status='C ', wc_rev='7'),
-    'DD/D1'             : Item(status='D ', wc_rev='7'),
-    'DD/D1/D2'          : Item(status='D ', wc_rev='7'),
-    'DF'                : Item(status='C ', wc_rev='7'),
-    'DF/D1'             : Item(status='D ', wc_rev='7'),
-    'DF/D1/beta'        : Item(status='D ', wc_rev='7'),
-    'DDD'               : Item(status='C ', wc_rev='7'),
-    'DDD/D1'            : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2'         : Item(status='D ', wc_rev='7'),
-    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='7'),
+    ''                  : Item(status=' M', wc_rev='3'),
+    'DDF'               : Item(status='C ', wc_rev='3'),
+    'DDF/D1'            : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDF/D1/D2/gamma'   : Item(status='D ', wc_rev='3'),
+    'D'                 : Item(status='C ', wc_rev='3'),
+    'D/D1'              : Item(status='D ', wc_rev='3'),
+    'F'                 : Item(status='C ', wc_rev='3'),
+    'F/alpha'           : Item(status='D ', wc_rev='3'),
+    'DD'                : Item(status='C ', wc_rev='3'),
+    'DD/D1'             : Item(status='D ', wc_rev='3'),
+    'DD/D1/D2'          : Item(status='D ', wc_rev='3'),
+    'DF'                : Item(status='C ', wc_rev='3'),
+    'DF/D1'             : Item(status='D ', wc_rev='3'),
+    'DF/D1/beta'        : Item(status='D ', wc_rev='3'),
+    'DDD'               : Item(status='C ', wc_rev='3'),
+    'DDD/D1'            : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2'         : Item(status='D ', wc_rev='3'),
+    'DDD/D1/D2/D3'      : Item(status='D ', wc_rev='3'),
     })
 
   expected_skip = svntest.wc.State('', {
     'F/alpha'           : Item(),
     })
 
-  greater_scheme += [ DeepTreesTestCase(
-                               "local_tree_del_incoming_tree_del",
-                               tree_del,
-                               tree_del,
-                               expected_output,
-                               expected_disk,
-                               expected_status,
-                               expected_skip,
-                             ) ]
+  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox,
+    [ DeepTreesTestCase(
+               "local_tree_del_incoming_tree_del",
+               tree_del,
+               tree_del,
+               expected_output,
+               expected_disk,
+               expected_status,
+               expected_skip,
+             ) ], False)
 
 
-  # now run the whole bunch of them.
-  svntest.actions.deep_trees_run_tests_scheme_for_merge(sbox, greater_scheme,
-                                                        False)
 
 
-
 ########################################################################
 # Run the tests
 
@@ -13733,8 +13740,16 @@
               del_sched_add_hist_file,
               del_differing_file,
               tree_conflicts_and_obstructions,
-              tree_conflicts_on_merge_local_ci,
-              tree_conflicts_on_merge_no_local_ci,
+              tree_conflicts_on_merge_local_ci_4_1,
+              tree_conflicts_on_merge_local_ci_4_2,
+              tree_conflicts_on_merge_local_ci_5_1,
+              tree_conflicts_on_merge_local_ci_5_2,
+              tree_conflicts_on_merge_local_ci_6,
+              tree_conflicts_on_merge_no_local_ci_4_1,
+              tree_conflicts_on_merge_no_local_ci_4_2,
+              tree_conflicts_on_merge_no_local_ci_5_1,
+              tree_conflicts_on_merge_no_local_ci_5_2,
+              tree_conflicts_on_merge_no_local_ci_6,
              ]
 
 if __name__ == '__main__':


