On 03/03/2011 01:15 PM, s...@apache.org wrote:
> Author: stsp
> Date: Thu Mar  3 18:15:46 2011
> New Revision: 1076712
> 
> URL: http://svn.apache.org/viewvc?rev=1076712&view=rev
> Log:
> As a first step towards eliminating use of the node walker in
> svn_wc_revision_status2(), use a DB query to determine the min/max revisions
> of the working copy, instead of obtaining this information during the crawl.

I was *just* making changes in this space.  Why?  Because this code needs to
ignore file externals when determining the revision range and status and
such.  In fact, I was just getting ready to run the full test suite with the
attached patch, which appears to fix issue #3816[1].  Can we modify your
MIN_MAX sqlite statement to skip nodes which are file externals?

-- C-Mike

[1] http://subversion.tigris.org/issues/show_bug.cgi?id=3816

-----------------

Index: subversion/libsvn_wc/revision_status.c
===================================================================
--- subversion/libsvn_wc/revision_status.c      (revision 1076717)
+++ subversion/libsvn_wc/revision_status.c      (working copy)
@@ -61,6 +61,7 @@
   svn_revnum_t revision;
   svn_revnum_t item_rev;
   svn_depth_t depth;
+  svn_boolean_t is_file_external;
   svn_wc__db_status_t status;

   SVN_ERR(svn_wc__db_read_info(&status, NULL, &revision, NULL,
@@ -89,6 +90,12 @@
       wb->result->modified = TRUE;
     }

+  /* Ignore file externals. */
+  SVN_ERR(svn_wc__internal_is_file_external(&is_file_external, wb->db,
+                                            local_abspath, scratch_pool));
+  if (is_file_external)
+    return SVN_NO_ERROR;
+
   if (! wb->result->switched)
     {
       svn_boolean_t wc_root;

-- 
C. Michael Pilato <cmpil...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to