You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2012/11/26 14:17:42 UTC

svn commit: r1413597 - /subversion/trunk/subversion/libsvn_client/iprops.c

Author: rhuijben
Date: Mon Nov 26 13:17:41 2012
New Revision: 1413597

URL: http://svn.apache.org/viewvc?rev=1413597&view=rev
Log:
Quick and dirty resolve a recent regression on trunk. The proper fix should
avoid the ra session and fix the hang in serf mod_dav_svn communication.

* subversion/libsvn_client/iprops.c
  (svn_client__get_inheritable_props): Don't fetch inherited properties
    for the repository root as this somehow fails for serf.

Modified:
    subversion/trunk/subversion/libsvn_client/iprops.c

Modified: subversion/trunk/subversion/libsvn_client/iprops.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/iprops.c?rev=1413597&r1=1413596&r2=1413597&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/iprops.c (original)
+++ subversion/trunk/subversion/libsvn_client/iprops.c Mon Nov 26 13:17:41 2012
@@ -86,8 +86,12 @@ svn_client__get_inheritable_props(apr_ha
                                   apr_pool_t *result_pool,
                                   apr_pool_t *scratch_pool)
 {
+  const char *repos_root_url = NULL;
   *wcroot_iprops = apr_hash_make(result_pool);
 
+  if (ra_session)
+    SVN_ERR(svn_ra_get_repos_root2(ra_session, &repos_root_url, scratch_pool));
+
   /* If we don't have a base revision for LOCAL_ABSPATH then it can't
      possibly be a working copy root, nor can it contain any WC roots
      in the form of switched subtrees.  So there is nothing to cache. */
@@ -149,8 +153,13 @@ svn_client__get_inheritable_props(apr_ha
                                                            FALSE, TRUE,
                                                            ctx,
                                                            scratch_pool));
+              SVN_ERR(svn_ra_get_repos_root2(ra_session, &repos_root_url,
+                                             scratch_pool));
             }
 
+          if (strcmp(repos_root_url, url) == 0)
+            continue;
+
           SVN_ERR(svn_ra_get_inherited_props(ra_session, &inherited_props,
                                              "", revision, result_pool,
                                              scratch_pool));