Author: stsp
Date: Sat Jun 12 12:38:48 2010
New Revision: 953996

URL: http://svn.apache.org/viewvc?rev=953996&view=rev
Log:
Revert part of r946661.

* subversion/libsvn_wc/adm_crawler.c
  (report_revisions_and_depths): Stop reporting external information
   for nodes that aren't in the BASE tree, restoring pre-r946661 behaviour
   of the crawler. The plan is to eventually remove the externals callback
   from the base crawler entirely, and introduce a separate externals
   crawling API instead.

Suggested by: rhuijben

Modified:
    subversion/trunk/subversion/libsvn_wc/adm_crawler.c

Modified: subversion/trunk/subversion/libsvn_wc/adm_crawler.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_crawler.c?rev=953996&r1=953995&r2=953996&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_crawler.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_crawler.c Sat Jun 12 12:38:48 2010
@@ -265,44 +265,8 @@ report_revisions_and_depths(svn_wc__db_t
   /* If "this dir" has "svn:externals" property set on it,
    * call the external_func callback. */
   if (external_func)
-    {
-      const apr_array_header_t *all_children;
-
-      SVN_ERR(read_externals_info(db, dir_abspath, external_func,
-                                  external_baton, dir_depth, iterpool));
-
-      /* Also do this for added children. They aren't part of the base
-       * tree so we don't recurse into them. But our caller might still
-       * want to pull externals into them as part of the update operation. */
-      SVN_ERR(svn_wc__db_read_children(&all_children, db, dir_abspath,
-                                       scratch_pool, iterpool));
-      for (i = 0; i < all_children->nelts; ++i)
-        {
-          const char *child = APR_ARRAY_IDX(all_children, i, const char *);
-          const char *this_abspath;
-          svn_wc__db_status_t this_status;
-          svn_wc__db_kind_t this_kind;
-          svn_depth_t this_depth;
-
-          svn_pool_clear(iterpool);
-
-          this_abspath = svn_dirent_join(dir_abspath, child, iterpool);
-          SVN_ERR(svn_wc__db_read_info(&this_status, &this_kind, NULL, NULL,
-                                       NULL, NULL, NULL, NULL, NULL, NULL,
-                                       &this_depth, NULL, NULL, NULL, NULL,
-                                       NULL, NULL, NULL, NULL, NULL, NULL,
-                                       NULL, NULL, NULL,
-                                       db, this_abspath, iterpool, iterpool));
-          if (this_kind == svn_wc__db_kind_dir &&
-              this_status == svn_wc__db_status_added)
-            {
-              SVN_ERR(read_externals_info(db, this_abspath, external_func,
-                                          external_baton, this_depth,
-                                          iterpool));
-            }
-        }
-    }
-
+    SVN_ERR(read_externals_info(db, dir_abspath, external_func,
+                                external_baton, dir_depth, iterpool));
 
   /* Looping over current directory's BASE children: */
   for (i = 0; i < base_children->nelts; ++i)


Reply via email to