Author: hwright
Date: Tue Jul 19 19:02:57 2011
New Revision: 1148487

URL: http://svn.apache.org/viewvc?rev=1148487&view=rev
Log:
Merge r1148071 from trunk:

 * r1148071
   Don't needlessly reparent a RA session to the repository root.
   Justification:
     Prevents possible issue #3242 'Subversion demands unnecessary access
     to parent directories' problems.
   Votes:
     +1: pburba, rhuijben, cmpilato

Modified:
    subversion/branches/1.7.x/   (props changed)
    subversion/branches/1.7.x/STATUS
    subversion/branches/1.7.x/subversion/libsvn_client/merge.c

Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jul 19 19:02:57 2011
@@ -53,4 +53,4 @@
 /subversion/branches/tree-conflicts:868291-873154
 /subversion/branches/tree-conflicts-notify:873926-874008
 /subversion/branches/uris-as-urls:1060426-1064427
-/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147309
+/subversion/trunk:1146013,1146121,1146219,1146222,1146274,1146492,1146555,1146620,1146684,1146781,1146832,1146834,1146870,1146899,1146904,1147293,1147309,1148071

Modified: subversion/branches/1.7.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1148487&r1=1148486&r2=1148487&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Tue Jul 19 19:02:57 2011
@@ -66,14 +66,6 @@ Candidate changes:
 Approved changes:
 =================
 
- * r1148071
-   Don't needlessly reparent a RA session to the repository root.
-   Justification:
-     Prevents possible issue #3242 'Subversion demands unnecessary access
-     to parent directories' problems.
-   Votes:
-     +1: pburba, rhuijben, cmpilato
-
  * r1148374
    Silence a debug message in the DSO loading code.
    Justification:

Modified: subversion/branches/1.7.x/subversion/libsvn_client/merge.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_client/merge.c?rev=1148487&r1=1148486&r2=1148487&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_client/merge.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_client/merge.c Tue Jul 19 
19:02:57 2011
@@ -3196,9 +3196,8 @@ fix_deleted_subtree_ranges(const char *u
    inherited mergeinfo describes non-existent paths, then set
    *INVALID_INHERITED_MERGEINFO to an empty hash.
 
-   RA_SESSION is an open session that points to TARGET_ABSPATH's repository
-   location or to the location of one of TARGET_ABSPATH's parents.  It may
-   be temporarily reparented.
+   RA_SESSION is an open session that may be temporarily reparented as
+   needed by this function.
 
    RESULT_POOL is used to allocate *INVALID_INHERITED_MERGEINFO, SCRATCH_POOL
    is used for any temporary allocations. */
@@ -3260,8 +3259,12 @@ get_invalid_inherited_mergeinfo(svn_merg
                                         repos_raw_inherited, FALSE,
                                         result_pool, scratch_pool));
         }
-      SVN_ERR(svn_client__ensure_ra_session_url(&session_url, ra_session,
-                                                session_url, scratch_pool));
+
+      /* If we needed to temporarily reparent RA_SESSION, then point it
+         back to its original URL. */
+      if (session_url)
+        SVN_ERR(svn_client__ensure_ra_session_url(&session_url, ra_session,
+                                                  session_url, scratch_pool));
     }
   return SVN_NO_ERROR;
 }


Reply via email to