You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2014/01/29 05:04:37 UTC

svn commit: r1562349 - in /subversion/branches/1.8.x: ./ STATUS subversion/libsvn_client/log.c subversion/tests/cmdline/authz_tests.py

Author: svn-role
Date: Wed Jan 29 04:04:37 2014
New Revision: 1562349

URL: http://svn.apache.org/r1562349
Log:
Merge the r1553101 group from trunk:

 * r1553101, r1553105, r1553113
   Resolve performance regression in certain 'svn log' scenarios, especially
   against pre Subversion 1.5 servers.
   Justification:
     Easy fix for improving performance for everybody. More generic patch for
     old versions might be needed for other scenarios, but those scenarios
     were never supported on those old versions itself.
   Votes:
     +1: rhuijben, stefan2, philip

Modified:
    subversion/branches/1.8.x/   (props changed)
    subversion/branches/1.8.x/STATUS
    subversion/branches/1.8.x/subversion/libsvn_client/log.c
    subversion/branches/1.8.x/subversion/tests/cmdline/authz_tests.py

Propchange: subversion/branches/1.8.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1553101,1553105,1553113

Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1562349&r1=1562348&r2=1562349&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Wed Jan 29 04:04:37 2014
@@ -256,16 +256,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1553101, r1553105, r1553113
-   Resolve performance regression in certain 'svn log' scenarios, especially
-   against pre Subversion 1.5 servers.
-   Justification:
-     Easy fix for improving performance for everybody. More generic patch for
-     old versions might be needed for other scenarios, but those scenarios
-     were never supported on those old versions itself.
-   Votes:
-     +1: rhuijben, stefan2, philip
-
  * r1548486
    When (during merge) we compare three files to each other stop reading
    specific files when we find enough differences.

Modified: subversion/branches/1.8.x/subversion/libsvn_client/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/libsvn_client/log.c?rev=1562349&r1=1562348&r2=1562349&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/libsvn_client/log.c (original)
+++ subversion/branches/1.8.x/subversion/libsvn_client/log.c Wed Jan 29 04:04:37 2014
@@ -861,17 +861,19 @@ svn_client_log5(const apr_array_header_t
                                             actual_loc->url, pool));
 
   /* Save us an RA layer round trip if we are on the repository root and
-     know the result in advance.  All the revision data has already been
-     validated.
+     know the result in advance, or if we don't need multiple ranges.
+     All the revision data has already been validated.
    */
-  if (strcmp(actual_loc->url, actual_loc->repos_root_url) == 0)
+  if (strcmp(actual_loc->url, actual_loc->repos_root_url) == 0
+      || opt_rev_ranges->nelts <= 1)
     {
       svn_location_segment_t *segment = apr_pcalloc(pool, sizeof(*segment));
       log_segments = apr_array_make(pool, 1, sizeof(segment));
 
       segment->range_start = oldest_rev;
       segment->range_end = actual_loc->rev;
-      segment->path = "";
+      segment->path = svn_uri_skip_ancestor(actual_loc->repos_root_url,
+                                            actual_loc->url, pool);
       APR_ARRAY_PUSH(log_segments, svn_location_segment_t *) = segment;
     }
   else

Modified: subversion/branches/1.8.x/subversion/tests/cmdline/authz_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/tests/cmdline/authz_tests.py?rev=1562349&r1=1562348&r2=1562349&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/tests/cmdline/authz_tests.py (original)
+++ subversion/branches/1.8.x/subversion/tests/cmdline/authz_tests.py Wed Jan 29 04:04:37 2014
@@ -576,8 +576,8 @@ def authz_log_and_tracing_test(sbox):
   if sbox.repo_url.startswith('http'):
     expected_err2 = expected_err
   else:
-    expected_err2 = ".*svn: E220001: Unreadable path encountered; " \
-                    "access denied.*"
+    expected_err2 = ".*svn: E220001: ((Unreadable path encountered; " \
+                    "access denied)|(Item is not readable)).*"
 
   # if we do the same thing directly on the unreadable file, we get:
   # svn: Item is not readable