Fix a move-update SEGV in property handling.

* subversion/libsvn_wc/wc_db_update_move.c
  (tc_editor_alter_file): Remove a workqueue item merge.

* subversion/tests/cmdline/move_tests.py
  (prop_test1): Start testing status after resolve, mark XFAIL rather
   than WIMP since it is now a status mismatch rather than a SEGV. 


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1451690 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/subversion/libsvn_wc/wc_db_update_move.c b/subversion/libsvn_wc/wc_db_update_move.c
index 99da8d3..5a113b0 100644
--- a/subversion/libsvn_wc/wc_db_update_move.c
+++ b/subversion/libsvn_wc/wc_db_update_move.c
@@ -1021,13 +1021,11 @@
     {
       svn_skel_t *work_items;
 
-      SVN_ERR(update_working_file(&work_items, dst_relpath,
+      SVN_ERR(update_working_file(b->work_items, dst_relpath,
                                   move_dst_repos_relpath,
                                   b->operation, &old_version, &new_version,
                                   b->wcroot, b->db,
                                   b->result_pool, scratch_pool));
-      *b->work_items = svn_wc__wq_merge(*b->work_items, work_items,
-                                        b->result_pool);
     }
 
   return SVN_NO_ERROR;
diff --git a/subversion/tests/cmdline/move_tests.py b/subversion/tests/cmdline/move_tests.py
index 83a211b..203164d 100755
--- a/subversion/tests/cmdline/move_tests.py
+++ b/subversion/tests/cmdline/move_tests.py
@@ -1027,7 +1027,7 @@
   move_file_tests(sbox, source, dest, move_func, tests)
 
 
-@Wimp("SEGV in add_single_work_item")
+@XFail()
 def prop_test1(sbox):
   "test property merging on move-update"
 
@@ -1074,27 +1074,27 @@
   expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
   expected_status.tweak('A/C', status='D ', moved_to='A/C2')
   expected_status.add({
-      'A/C/D1'  : Item(status='D ', wc_rev =2),
-      'A/C/D2'  : Item(status='D ', wc_rev =2),
-      'A/C/D3'  : Item(status='D ', wc_rev =2),
-      'A/C/D4'  : Item(status='D ', wc_rev =2),
-      'A/C/D5'  : Item(status='D ', wc_rev =2),
-      'A/C/f1'  : Item(status='D ', wc_rev =2),
-      'A/C/f2'  : Item(status='D ', wc_rev =2),
-      'A/C/f3'  : Item(status='D ', wc_rev =2),
-      'A/C/f4'  : Item(status='D ', wc_rev =2),
-      'A/C/f5'  : Item(status='D ', wc_rev =2),
-      'A/C2'    : Item(status='A ', copied='+', wc_rev ='-', moved_from='A/C'),
-      'A/C2/D1' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/D2' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/D3' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/D4' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/D5' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/f1' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/f2' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/f3' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/f4' : Item(status=' M', copied='+', wc_rev ='-'),
-      'A/C2/f5' : Item(status=' M', copied='+', wc_rev ='-'),
+      'A/C/D1'  : Item(status='D ', wc_rev=2),
+      'A/C/D2'  : Item(status='D ', wc_rev=2),
+      'A/C/D3'  : Item(status='D ', wc_rev=2),
+      'A/C/D4'  : Item(status='D ', wc_rev=2),
+      'A/C/D5'  : Item(status='D ', wc_rev=2),
+      'A/C/f1'  : Item(status='D ', wc_rev=2),
+      'A/C/f2'  : Item(status='D ', wc_rev=2),
+      'A/C/f3'  : Item(status='D ', wc_rev=2),
+      'A/C/f4'  : Item(status='D ', wc_rev=2),
+      'A/C/f5'  : Item(status='D ', wc_rev=2),
+      'A/C2'    : Item(status='A ', copied='+', wc_rev='-', moved_from='A/C'),
+      'A/C2/D1' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/D2' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/D3' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/D4' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/D5' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/f1' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/f2' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/f3' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/f4' : Item(status=' M', copied='+', wc_rev='-'),
+      'A/C2/f5' : Item(status=' M', copied='+', wc_rev='-'),
       })
   svntest.actions.run_and_verify_status(wc_dir, expected_status)
 
@@ -1104,6 +1104,19 @@
                                      '--accept=mine-conflict',
                                      sbox.ospath('A/C'))
 
+  expected_status.tweak(wc_rev=3)
+  expected_status.tweak('A/C2',
+                        'A/C2/D1', 'A/C2/D2', 'A/C2/D3', 'A/C2/D4', 'A/C2/D5',
+                        'A/C2/f1', 'A/C2/f2', 'A/C2/f3', 'A/C2/f4', 'A/C2/f5',
+                        wc_rev='-')
+  expected_status.tweak('A/C2/D3', 'A/C2/D3',
+                        status='  ')
+  expected_status.tweak('A/C2/D4', 'A/C2/D5',
+                        'A/C2/f4', 'A/C2/f5',
+                        status=' C')
+
+  svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
 
 #######################################################################
 # Run the tests