* branches/issue-662-dev/:

Get "make check' passing again (following up to revision 2202).  These
tests now pass:

   basic_tests.py 10: basic switch command
   update_tests.py 4: update to revision 0
   update_tests.py 5: make sure overlapping identical changes do not conflict
   switch_tests.py 1: test some basic switching operations
   switch_tests.py 4: reverse update wc that contains switched things
   switch_tests.py 6: reverse update switched wc things to an older rev

* subversion/libsvn_client/switch.c
  (svn_client_switch): Pass content_state and prop_state to
  notify_func, in file case.

* subversion/tests/clients/cmdline/update_tests.py
  (receive_overlapping_same_change): Expect 'G' not 'U'.  The old
  notification output was simply bogus.

* subversion/libsvn_wc/update_editor.c
  (delete_entry): Pass reconstructed correct path to notify_func.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/issue-662-dev@842286 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/subversion/libsvn_client/switch.c b/subversion/libsvn_client/switch.c
index 130d21b..54c9ffc 100644
--- a/subversion/libsvn_client/switch.c
+++ b/subversion/libsvn_client/switch.c
@@ -229,19 +229,24 @@
         }
 
       /* This the same code as the update-editor's close_file(). */
-      SVN_ERR (svn_wc_install_file (NULL, NULL,
-                                    path, revnum,
-                                    new_text_path,
-                                    proparray, TRUE, /* is full proplist */
-                                    switch_url, /* new url */
-                                    pool));     
-      if (notify_func != NULL)
-        (*notify_func) (notify_baton, path, svn_wc_notify_update,
-                        svn_node_file,
-                        NULL,
-                        svn_wc_notify_state_unknown,
-                        svn_wc_notify_state_unknown,
-                        SVN_INVALID_REVNUM);
+      {
+        svn_wc_notify_state_t content_state;
+        svn_wc_notify_state_t prop_state;
+        
+        SVN_ERR (svn_wc_install_file (&content_state, &prop_state,
+                                      path, revnum,
+                                      new_text_path,
+                                      proparray, TRUE, /* is full proplist */
+                                      switch_url, /* new url */
+                                      pool));     
+        if (notify_func != NULL)
+          (*notify_func) (notify_baton, path, svn_wc_notify_update,
+                          svn_node_file,
+                          NULL,
+                          content_state,
+                          prop_state,
+                          SVN_INVALID_REVNUM);
+      }
     }
   
   /* Sleep for one second to ensure timestamp integrity. */
diff --git a/subversion/libsvn_wc/update_editor.c b/subversion/libsvn_wc/update_editor.c
index 8e69bfa..1a14fa8 100644
--- a/subversion/libsvn_wc/update_editor.c
+++ b/subversion/libsvn_wc/update_editor.c
@@ -591,7 +591,7 @@
 
   if (pb->edit_baton->notify_func)
     (*pb->edit_baton->notify_func) (pb->edit_baton->notify_baton,
-                                    pb->path,
+                                    svn_path_join (pb->path, base_name, pool),
                                     svn_wc_notify_delete,
                                     svn_node_unknown,
                                     NULL,
diff --git a/subversion/tests/clients/cmdline/update_tests.py b/subversion/tests/clients/cmdline/update_tests.py
index 870701c..03f9e50 100755
--- a/subversion/tests/clients/cmdline/update_tests.py
+++ b/subversion/tests/clients/cmdline/update_tests.py
@@ -523,7 +523,7 @@
     return 1
 
   # Expected output tree for update of other_wc.
-  output_list = [ [other_iota_path, None, {}, {'status' : 'U ' }] ]
+  output_list = [ [other_iota_path, None, {}, {'status' : 'G ' }] ]
   expected_output_tree = svntest.tree.build_generic_tree(output_list)
 
   # Expected disk tree for the update.