Author: rinrab
Date: Tue Nov 26 17:42:09 2024
New Revision: 1922126

URL: http://svn.apache.org/viewvc?rev=1922126&view=rev
Log:
On the 'apply-processor' branch: Notify mergeinfo_changed() from the
prepare_merge_props_changed() function.

* subversion/libsvn_client/merge_processor.c
  (prepare_merge_props_changed): Implement few TODO_STORE_PATH. Add
   initialization of the old_mergeinfo variable to invoke
   cb_table->mergeinfo_changed()

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

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=1922126&r1=1922125&r2=1922126&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 17:42:09 2024
@@ -344,7 +344,8 @@ prepare_merge_props_changed(const apr_ar
   /* Make a record in BATON if we find a PATH where mergeinfo is added
      where none existed previously or PATH is having its existing
      mergeinfo deleted. */
-  if (props->nelts)
+  if (merge_b->cb_table && merge_b->cb_table->mergeinfo_changed
+      && props->nelts)
     {
       int i;
 
@@ -355,7 +356,7 @@ prepare_merge_props_changed(const apr_ar
           if (strcmp(prop->name, SVN_PROP_MERGEINFO) == 0)
             {
               /* Does LOCAL_ABSPATH have any pristine mergeinfo? */
-              svn_boolean_t has_pristine_mergeinfo = FALSE;
+              const svn_string_t *old_mergeinfo;
               apr_hash_t *pristine_props;
 
               SVN_ERR(svn_wc_get_pristine_props(&pristine_props,
@@ -364,24 +365,16 @@ prepare_merge_props_changed(const apr_ar
                                                 scratch_pool,
                                                 scratch_pool));
 
-              if (pristine_props
-                  && svn_hash_gets(pristine_props, SVN_PROP_MERGEINFO))
-                has_pristine_mergeinfo = TRUE;
+              if (pristine_props)
+                old_mergeinfo = svn_hash_gets(pristine_props, 
SVN_PROP_MERGEINFO);
+              else
+                old_mergeinfo = NULL;
 
-              if (!has_pristine_mergeinfo && prop->value)
-                {
-#if TODO_STORE_PATH
-                  alloc_and_store_path(&merge_b->paths_with_new_mergeinfo,
-                                       local_abspath, merge_b->pool);
-#endif
-                }
-              else if (has_pristine_mergeinfo && !prop->value)
-                {
-#if TODO_STORE_PATH
-                  alloc_and_store_path(&merge_b->paths_with_deleted_mergeinfo,
-                                       local_abspath, merge_b->pool);
-#endif
-                }
+              SVN_ERR(merge_b->cb_table->mergeinfo_changed(merge_b->cb_baton,
+                                                           local_abspath,
+                                                           old_mergeinfo,
+                                                           prop->value,
+                                                           scratch_pool));
             }
         }
     }


Reply via email to