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 2011/04/24 13:38:18 UTC

svn commit: r1096314 - in /subversion/trunk/subversion/libsvn_client: client.h commit.c externals.c switch.c update.c

Author: rhuijben
Date: Sun Apr 24 11:38:17 2011
New Revision: 1096314

URL: http://svn.apache.org/viewvc?rev=1096314&view=rev
Log:
Fix issue #3819 for real. Don't gather svn:externals properties on anchor, but
do that on target instead.

This mostly reverts r1085545, as that change is no longer necessary when we
don't store properties that we shouldn't process.

* subversion/libsvn_client/client.h
  (svn_client__handle_externals): Remove unneeded argument. And remove comment
    on argument that was already gone.

* subversion/libsvn_client/commit.c
  (svn_client_commit5): Update caller.

* subversion/libsvn_client/externals.c
  (handle_externals_desc_change_baton): Remove target_abspath.
  (handle_externals_desc_change): Remove unneeded check.
  (svn_client__handle_externals): Don't store path we don't need.
  (svn_client__fetch_externals): Update caller.

* subversion/libsvn_client/switch.c
  (switch_internal): Update caller.

* subversion/libsvn_client/update.c
  (update_internal): Use target abspath instead of anchor abspath.
    Update caller.

Modified:
    subversion/trunk/subversion/libsvn_client/client.h
    subversion/trunk/subversion/libsvn_client/commit.c
    subversion/trunk/subversion/libsvn_client/externals.c
    subversion/trunk/subversion/libsvn_client/switch.c
    subversion/trunk/subversion/libsvn_client/update.c

Modified: subversion/trunk/subversion/libsvn_client/client.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/client.h?rev=1096314&r1=1096313&r2=1096314&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/client.h (original)
+++ subversion/trunk/subversion/libsvn_client/client.h Sun Apr 24 11:38:17 2011
@@ -943,7 +943,6 @@ svn_error_t *
 svn_client__handle_externals(apr_hash_t *externals_old,
                              apr_hash_t *externals_new,
                              apr_hash_t *ambient_depths,
-                             const char *anchor_abspath,
                              const char *repos_root_url,
                              svn_depth_t requested_depth,
                              svn_boolean_t delete_only,

Modified: subversion/trunk/subversion/libsvn_client/commit.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/commit.c?rev=1096314&r1=1096313&r2=1096314&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/commit.c (original)
+++ subversion/trunk/subversion/libsvn_client/commit.c Sun Apr 24 11:38:17 2011
@@ -1390,7 +1390,7 @@ svn_client_commit5(const apr_array_heade
 
           SVN_ERR(svn_client__handle_externals(efb.externals_old,
                                                efb.externals_new,
-                                               NULL, NULL, NULL,
+                                               NULL, NULL,
                                                svn_depth_unknown, TRUE,
                                                NULL, ctx, iterpool));
         }

Modified: subversion/trunk/subversion/libsvn_client/externals.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/externals.c?rev=1096314&r1=1096313&r2=1096314&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/externals.c (original)
+++ subversion/trunk/subversion/libsvn_client/externals.c Sun Apr 24 11:38:17 2011
@@ -1035,7 +1035,6 @@ struct handle_externals_desc_change_bato
      external item parent directory path. */
   const char *from_url;
   const char *to_abspath;
-  const char *target_abspath;
 
   /* Passed through to handle_external_item_change_baton. */
   svn_client_ctx_t *ctx;
@@ -1104,13 +1103,6 @@ handle_externals_desc_change(const void 
           && cb->requested_depth < svn_depth_infinity))
     return SVN_NO_ERROR;
 
-  /* Only handle externals under TARGET. */
-  if (cb->target_abspath
-      && ! svn_dirent_is_ancestor(cb->target_abspath, local_abspath))
-    {
-        return SVN_NO_ERROR;
-    }
-
   if ((old_desc_text = apr_hash_get(cb->externals_old, local_abspath, klen)))
     SVN_ERR(svn_wc_parse_externals_description3(&old_desc, local_abspath,
                                                 old_desc_text,
@@ -1229,7 +1221,6 @@ svn_error_t *
 svn_client__handle_externals(apr_hash_t *externals_old,
                              apr_hash_t *externals_new,
                              apr_hash_t *ambient_depths,
-                             const char *anchor_abspath,
                              const char *repos_root_url,
                              svn_depth_t requested_depth,
                              svn_boolean_t delete_only,
@@ -1245,7 +1236,7 @@ svn_client__handle_externals(apr_hash_t 
   cb.ambient_depths    = ambient_depths;
   cb.from_url          = NULL;
   cb.to_abspath        = NULL;
-  cb.target_abspath    = anchor_abspath;
+
   cb.repos_root_url    = repos_root_url;
   cb.ctx               = ctx;
   cb.timestamp_sleep   = timestamp_sleep;
@@ -1282,7 +1273,6 @@ svn_client__fetch_externals(apr_hash_t *
   cb.ctx               = ctx;
   cb.from_url          = from_url;
   cb.to_abspath        = to_abspath;
-  cb.target_abspath    = NULL; /* ### wrong? */
   cb.repos_root_url    = repos_root_url;
   cb.timestamp_sleep   = timestamp_sleep;
   cb.native_eol        = native_eol;

Modified: subversion/trunk/subversion/libsvn_client/switch.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/switch.c?rev=1096314&r1=1096313&r2=1096314&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/switch.c (original)
+++ subversion/trunk/subversion/libsvn_client/switch.c Sun Apr 24 11:38:17 2011
@@ -275,8 +275,6 @@ switch_internal(svn_revnum_t *result_rev
 
       err = svn_client__handle_externals(efb.externals_old,
                                          efb.externals_new, efb.ambient_depths,
-                                         svn_dirent_join(anchor_abspath, 
-                                                         target, pool),
                                          source_root,
                                          depth, FALSE, use_sleep, ctx, pool);
     }

Modified: subversion/trunk/subversion/libsvn_client/update.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/update.c?rev=1096314&r1=1096313&r2=1096314&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/update.c (original)
+++ subversion/trunk/subversion/libsvn_client/update.c Sun Apr 24 11:38:17 2011
@@ -287,13 +287,11 @@ update_internal(svn_revnum_t *result_rev
     {
       if (apply_local_external_modifications)
         SVN_ERR(svn_client__gather_local_external_changes(
-                  efb.externals_new, efb.ambient_depths, anchor_abspath,
+                  efb.externals_new, efb.ambient_depths, local_abspath,
                   depth, ctx, pool));
       SVN_ERR(svn_client__handle_externals(efb.externals_old,
                                            efb.externals_new,
                                            efb.ambient_depths,
-                                           svn_dirent_join(anchor_abspath,
-                                                           target, pool),
                                            repos_root,
                                            depth, FALSE, use_sleep,
                                            ctx, pool));