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 2013/05/12 18:24:43 UTC

svn commit: r1481596 - /subversion/trunk/subversion/libsvn_repos/log.c

Author: stefan2
Date: Sun May 12 16:24:43 2013
New Revision: 1481596

URL: http://svn.apache.org/r1481596
Log:
Significant I/O and CPU load reduction for 'svn log -g'. Repositories
with sub-tree merge info seem to benefit from this the most.

* subversion/libsvn_repos/log.c
  (get_combined_mergeinfo_changes): exit early when there is no
   svn:mergeinfo change in REV

Modified:
    subversion/trunk/subversion/libsvn_repos/log.c

Modified: subversion/trunk/subversion/libsvn_repos/log.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/log.c?rev=1481596&r1=1481595&r2=1481596&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/log.c (original)
+++ subversion/trunk/subversion/libsvn_repos/log.c Sun May 12 16:24:43 2013
@@ -838,6 +838,11 @@ get_combined_mergeinfo_changes(svn_merge
         }
     }
 
+  /* In most revisions, there will be no mergeinfo change at all. */
+  if (   apr_hash_count(deleted_mergeinfo_catalog) == 0
+      && apr_hash_count(added_mergeinfo_catalog) == 0)
+    return SVN_NO_ERROR;
+  
   /* Check our PATHS for any changes to their inherited mergeinfo.
      (We deal with changes to mergeinfo directly *on* the paths in the
      following loop.)  */