You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2015/06/30 01:33:16 UTC

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

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;