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;
}