Author: rinrab
Date: Tue Nov 26 23:32:38 2024
New Revision: 1922142

URL: http://svn.apache.org/viewvc?rev=1922142&view=rev
Log:
On the 'apply-processor' branch: Inline cb_table->skipped_path callback, but
use the notification callback instead; It seems like it has everything it
need to make the required records in merge_b.

* subversion/libsvn_client/client.h
  (svn_client__apply_processor_callbacks_t::skipped_path): Remove method.
* subversion/libsvn_client/merge.c
  (notify_merging): Handle svn_wc_notify_skip action, and do the work,
   that apply_processor_skipped_path has been doing before.
  (apply_processor_skipped_path): Remove function.
  (do_merge): Do not initialize cb_table.skipped_path.
* subversion/libsvn_client/merge_processor.c
  (): No longer invoke cb_table->skipped_path() callback, since we are
   removing it.

Modified:
    subversion/branches/apply-processor/subversion/libsvn_client/client.h
    subversion/branches/apply-processor/subversion/libsvn_client/merge.c
    
subversion/branches/apply-processor/subversion/libsvn_client/merge_processor.c

Modified: subversion/branches/apply-processor/subversion/libsvn_client/client.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/apply-processor/subversion/libsvn_client/client.h?rev=1922142&r1=1922141&r2=1922142&view=diff
==============================================================================
--- subversion/branches/apply-processor/subversion/libsvn_client/client.h 
(original)
+++ subversion/branches/apply-processor/subversion/libsvn_client/client.h Tue 
Nov 26 23:32:38 2024
@@ -1287,10 +1287,6 @@ typedef struct svn_client__apply_process
                                   svn_boolean_t tree_conflict,
                                   apr_pool_t *pool);
 
-  svn_error_t *(*skipped_path)(void *baton,
-                               const char *path,
-                               apr_pool_t *pool);
-
   svn_error_t *(*mergeinfo_changed)(void *baton,
                                     const char *local_abspath,
                                     const svn_string_t *old_mergeinfo,

Modified: subversion/branches/apply-processor/subversion/libsvn_client/merge.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/apply-processor/subversion/libsvn_client/merge.c?rev=1922142&r1=1922141&r2=1922142&view=diff
==============================================================================
--- subversion/branches/apply-processor/subversion/libsvn_client/merge.c 
(original)
+++ subversion/branches/apply-processor/subversion/libsvn_client/merge.c Tue 
Nov 26 23:32:38 2024
@@ -1332,6 +1332,12 @@ notify_merging(void *baton,
         store_path(merge_b->added_abspaths, notify->path);
       }
     break;
+
+  case svn_wc_notify_skip:
+    if (merge_b->merge_source.ancestral || merge_b->reintegrate_merge)
+      {
+        store_path(merge_b->skipped_abspaths, notify->path);
+      }
   }
 
   notify_merge_begin(b, notify->path,
@@ -7309,21 +7315,6 @@ apply_processor_conflicted_path(void *ba
   return SVN_NO_ERROR;
 }
 
-/* Implements svn_client__apply_processor_callbacks_t::skipped_path */
-static svn_error_t *
-apply_processor_skipped_path(void *baton, const char *local_abspath,
-                             apr_pool_t *pool)
-{
-  merge_cmd_baton_t *merge_b = baton;
-
-  if (merge_b->merge_source.ancestral || merge_b->reintegrate_merge)
-    {
-      store_path(merge_b->skipped_abspaths, local_abspath);
-    }
-
-  return SVN_NO_ERROR;
-}
-
 /* Implements svn_client__apply_processor_callbacks_t::mergeinfo_changed */
 static svn_error_t *
 apply_processor_mergeinfo_changed(void *baton, const char *local_abspath,
@@ -7594,7 +7585,6 @@ do_merge(apr_hash_t **modified_subtrees,
       svn_client__apply_processor_callbacks_t cb_table = { 0 };
 
       cb_table.conflicted_path = apply_processor_conflicted_path;
-      cb_table.skipped_path = apply_processor_skipped_path;
       cb_table.mergeinfo_changed = apply_processor_mergeinfo_changed;
       cb_table.adjust_mergeinfo = apply_processor_adjust_mergeinfo;
 

Modified: 
subversion/branches/apply-processor/subversion/libsvn_client/merge_processor.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/apply-processor/subversion/libsvn_client/merge_processor.c?rev=1922142&r1=1922141&r2=1922142&view=diff
==============================================================================
--- 
subversion/branches/apply-processor/subversion/libsvn_client/merge_processor.c 
(original)
+++ 
subversion/branches/apply-processor/subversion/libsvn_client/merge_processor.c 
Tue Nov 26 23:32:38 2024
@@ -537,13 +537,6 @@ record_skip(merge_apply_processor_baton_
   if (merge_b->record_only)
     return SVN_NO_ERROR; /* ### Why? - Legacy compatibility */
 
-  if (merge_b->cb_table && merge_b->cb_table->skipped_path
-      && !(pdb && pdb->shadowed))
-    {
-      SVN_ERR(merge_b->cb_table->skipped_path(merge_b->cb_baton, local_abspath,
-                                              scratch_pool));
-    }
-
   if (merge_b->notify_func)
     {
       svn_wc_notify_t *notify;
@@ -887,12 +880,6 @@ mark_dir_edited(merge_apply_processor_ba
                                notify,
                                scratch_pool);
         }
-
-      if (merge_b->cb_table && merge_b->cb_table->skipped_path)
-        {
-          SVN_ERR(merge_b->cb_table->skipped_path(
-              merge_b->cb_baton, local_abspath, scratch_pool));
-        }
     }
   else if (db->tree_conflict_reason != CONFLICT_REASON_NONE)
     {
@@ -966,12 +953,6 @@ mark_file_edited(merge_apply_processor_b
                                notify,
                                scratch_pool);
         }
-
-      if (merge_b->cb_table && merge_b->cb_table->skipped_path)
-        {
-          SVN_ERR(merge_b->cb_table->skipped_path(
-              merge_b->cb_baton, local_abspath, scratch_pool));
-        }
     }
   else if (fb->tree_conflict_reason != CONFLICT_REASON_NONE)
     {


Reply via email to