You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2011/10/19 12:46:59 UTC

svn commit: r1186083 - in /subversion/branches/showing-merge-info/subversion: include/svn_client.h libsvn_client/url.c

Author: julianfoad
Date: Wed Oct 19 10:46:57 2011
New Revision: 1186083

URL: http://svn.apache.org/viewvc?rev=1186083&view=rev
Log:
On the 'showing-merge-info' branch: Two-pool paradigm.

* subversion/include/svn_client.h,
  subversion/libsvn_client/url.c
  (svn_client__resolve_location, svn_client__resolve_target_location): Use two-pool paradigm.

Modified:
    subversion/branches/showing-merge-info/subversion/include/svn_client.h
    subversion/branches/showing-merge-info/subversion/libsvn_client/url.c

Modified: subversion/branches/showing-merge-info/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/subversion/include/svn_client.h?rev=1186083&r1=1186082&r2=1186083&view=diff
==============================================================================
--- subversion/branches/showing-merge-info/subversion/include/svn_client.h (original)
+++ subversion/branches/showing-merge-info/subversion/include/svn_client.h Wed Oct 19 10:46:57 2011
@@ -1052,13 +1052,14 @@ svn_client__resolve_location(const char 
                              const svn_opt_revision_t *peg_revision,
                              const svn_opt_revision_t *revision,
                              svn_client_ctx_t *ctx,
-                             apr_pool_t *pool);
+                             apr_pool_t *result_pool,
+                             apr_pool_t *scratch_pool);
 
 /* */
 svn_error_t *
 svn_client__resolve_target_location(svn_client_target_t *target,
                                     svn_client_ctx_t *ctx,
-                                    apr_pool_t *pool);
+                                    apr_pool_t *scratch_pool);
 
 /**
  * Pull remaining target arguments from @a os into @a *targets_p,

Modified: subversion/branches/showing-merge-info/subversion/libsvn_client/url.c
URL: http://svn.apache.org/viewvc/subversion/branches/showing-merge-info/subversion/libsvn_client/url.c?rev=1186083&r1=1186082&r2=1186083&view=diff
==============================================================================
--- subversion/branches/showing-merge-info/subversion/libsvn_client/url.c (original)
+++ subversion/branches/showing-merge-info/subversion/libsvn_client/url.c Wed Oct 19 10:46:57 2011
@@ -120,7 +120,8 @@ svn_client__resolve_location(const char 
                              const svn_opt_revision_t *peg_revision,
                              const svn_opt_revision_t *revision,
                              svn_client_ctx_t *ctx,
-                             apr_pool_t *pool)
+                             apr_pool_t *result_pool,
+                             apr_pool_t *scratch_pool)
 {
   const char *abspath_or_url;
   const char *repos_root_url;
@@ -128,11 +129,12 @@ svn_client__resolve_location(const char 
   if (svn_path_is_url(path_or_url))
     abspath_or_url = path_or_url;
   else
-    SVN_ERR(svn_dirent_get_absolute(&abspath_or_url, path_or_url, pool));
+    SVN_ERR(svn_dirent_get_absolute(&abspath_or_url, path_or_url,
+                                    scratch_pool));
 
   SVN_ERR(svn_client__get_repos_root(&repos_root_url, repo_uuid_p,
                                      abspath_or_url,
-                                     ctx, pool, pool));
+                                     ctx, result_pool, scratch_pool));
   if (repo_root_url_p)
     *repo_root_url_p = repos_root_url;
 
@@ -140,12 +142,14 @@ svn_client__resolve_location(const char 
     {
       const char *url;
 
-      SVN_ERR(svn_client_url_from_path2(&url, path_or_url, ctx, pool, pool));
+      SVN_ERR(svn_client_url_from_path2(&url, path_or_url,
+                                        ctx, scratch_pool, scratch_pool));
       if (! url)
         return svn_error_createf(SVN_ERR_ENTRY_MISSING_URL, NULL,
                                  _("Path '%s' has no URL in the repository"),
                                  path_or_url);
-      *repo_relpath_p = svn_uri_skip_ancestor(repos_root_url, url, pool);
+      *repo_relpath_p = svn_uri_skip_ancestor(repos_root_url, url,
+                                              result_pool);
     }
 
   if (repo_revnum_p)
@@ -158,7 +162,7 @@ svn_client__resolve_location(const char 
                                               abspath_or_url,
                                               ra_session,
                                               peg_revision,
-                                              pool));
+                                              scratch_pool));
     }
   return SVN_NO_ERROR;
 }
@@ -166,7 +170,7 @@ svn_client__resolve_location(const char 
 svn_error_t *
 svn_client__resolve_target_location(svn_client_target_t *target,
                                     svn_client_ctx_t *ctx,
-                                    apr_pool_t *pool)
+                                    apr_pool_t *scratch_pool)
 {
   SVN_ERR(svn_client__resolve_location(&target->repos_root_url,
                                        &target->repos_uuid,
@@ -175,7 +179,7 @@ svn_client__resolve_target_location(svn_
                                        target->path_or_url,
                                        &target->peg_revision,
                                        &target->revision,
-                                       ctx, pool));
+                                       ctx, target->pool, scratch_pool));
   return SVN_NO_ERROR;
 }