subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bre...@apache.org
Subject svn commit: r1482450 - in /subversion/branches/1.8.x: ./ STATUS subversion/libsvn_repos/log.c
Date Tue, 14 May 2013 16:49:38 GMT
Author: breser
Date: Tue May 14 16:49:37 2013
New Revision: 1482450

URL: http://svn.apache.org/r1482450
Log:
Merge r1481594 from trunk:

 * r1481594
   Speed up reporting and authz checks on copy-from info in 'svn log'.
   Justification:
     The way we implemented merges makes replacements and add-with-history
     a much more common occurance than they would otherwise be.  With this
     simple change, I've witnessed a ~25% speedup for e.g. the FreeBSD repo.
   Votes:
     +1: stefan2 (for 1.8.1)
     +1: rhuijben, ivan

Modified:
    subversion/branches/1.8.x/   (props changed)
    subversion/branches/1.8.x/STATUS
    subversion/branches/1.8.x/subversion/libsvn_repos/log.c

Propchange: subversion/branches/1.8.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1481594

Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1482450&r1=1482449&r2=1482450&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Tue May 14 16:49:37 2013
@@ -85,16 +85,6 @@ Approved changes:
 # blocking issues.  If in doubt see this link for details:
 # http://subversion.apache.org/docs/community-guide/releasing.html#release-stabilization
 
- * r1481594
-   Speed up reporting and authz checks on copy-from info in 'svn log'.
-   Justification:
-     The way we implemented merges makes replacements and add-with-history
-     a much more common occurance than they would otherwise be.  With this
-     simple change, I've witnessed a ~25% speedup for e.g. the FreeBSD repo.
-   Votes:
-     +1: stefan2 (for 1.8.1)
-     +1: rhuijben, ivan
-
  * r1482327, r1482338
    Resolve segfault on upgrading from pre 1.7 working copies, where there
    are local property changes or conflicts or changelist, but no tree conflict.

Modified: subversion/branches/1.8.x/subversion/libsvn_repos/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/libsvn_repos/log.c?rev=1482450&r1=1482449&r2=1482450&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/libsvn_repos/log.c (original)
+++ subversion/branches/1.8.x/subversion/libsvn_repos/log.c Tue May 14 16:49:37 2013
@@ -311,11 +311,15 @@ detect_changed(apr_hash_t **changed,
 
       if ((action == 'A') || (action == 'R'))
         {
-          const char *copyfrom_path;
-          svn_revnum_t copyfrom_rev;
+          const char *copyfrom_path = change->copyfrom_path;
+          svn_revnum_t copyfrom_rev = change->copyfrom_rev;
 
-          SVN_ERR(svn_fs_copied_from(&copyfrom_rev, &copyfrom_path,
-                                     root, path, subpool));
+          /* the following is a potentially expensive operation since on FSFS
+             we will follow the DAG from ROOT to PATH and that requires
+             actually reading the directories along the way. */
+          if (!change->copyfrom_known)
+            SVN_ERR(svn_fs_copied_from(&copyfrom_rev, &copyfrom_path,
+                                      root, path, subpool));
 
           if (copyfrom_path && SVN_IS_VALID_REVNUM(copyfrom_rev))
             {



Mime
View raw message