Author: stefan2
Date: Mon Jun 29 23:33:16 2015
New Revision: 1688330

URL: http://svn.apache.org/r1688330
Log:
On the svn-mergeinfo-normalizer branch:
Remove empty mergeinfo before showing the final stats.  Otherwise,
they won't be consistent with the stats read from the working copy
the next time we run a command.

* tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c
  (svn_min__write_mergeinfo): Remove empty mergeinfo after removing
                              it from the working copy.

Modified:
    
subversion/branches/svn-mergeinfo-normalizer/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c

Modified: 
subversion/branches/svn-mergeinfo-normalizer/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/svn-mergeinfo-normalizer/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c?rev=1688330&r1=1688329&r2=1688330&view=diff
==============================================================================
--- 
subversion/branches/svn-mergeinfo-normalizer/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c
 (original)
+++ 
subversion/branches/svn-mergeinfo-normalizer/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c
 Mon Jun 29 23:33:16 2015
@@ -282,8 +282,9 @@ svn_min__write_mergeinfo(svn_min__cmd_ba
 
   apr_pool_t *iterpool = svn_pool_create(scratch_pool);
   int i;
+  int dest;
 
-  for (i = 0; i < mergeinfo->nelts; ++i)
+  for (i = 0, dest = 0; i < mergeinfo->nelts; ++i)
     {
       mergeinfo_t *entry = APR_ARRAY_IDX(mergeinfo, i, mergeinfo_t *);
       svn_string_t *propval = NULL;
@@ -301,8 +302,15 @@ svn_min__write_mergeinfo(svn_min__cmd_ba
       SVN_ERR(svn_client_propset_local(SVN_PROP_MERGEINFO, propval, targets,
                                        svn_depth_empty, FALSE, NULL, ctx,
                                        iterpool));
+
+      if (apr_hash_count(entry->mergeinfo))
+        {
+          APR_ARRAY_IDX(mergeinfo, dest, mergeinfo_t *) = entry;
+          ++dest;
+        }
     }
 
+  mergeinfo->nelts = dest;
   svn_pool_destroy(iterpool);
 
   return SVN_NO_ERROR;


Reply via email to