You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/01/15 20:54:48 UTC

svn commit: r899790 - /subversion/trunk/subversion/libsvn_wc/workqueue.c

Author: hwright
Date: Fri Jan 15 19:54:47 2010
New Revision: 899790

URL: http://svn.apache.org/viewvc?rev=899790&view=rev
Log:
* subversion/libsvn_wc/workqueue.c
  (log_do_committed): Get rid of yet another entry read, and replace with a
    wc_db function call.

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

Modified: subversion/trunk/subversion/libsvn_wc/workqueue.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/workqueue.c?rev=899790&r1=899789&r2=899790&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/workqueue.c (original)
+++ subversion/trunk/subversion/libsvn_wc/workqueue.c Fri Jan 15 19:54:47 2010
@@ -1205,8 +1205,8 @@
           const char *child_name = APR_ARRAY_IDX(children, i, const char*);
           const char *child_abspath;
           svn_wc__db_kind_t kind;
+          svn_wc__db_status_t status;
           svn_boolean_t is_file;
-          const svn_wc_entry_t *child_entry;
 
           apr_pool_clear(iterpool);
           child_abspath = svn_dirent_join(local_abspath, child_name, iterpool);
@@ -1217,12 +1217,13 @@
           is_file = (kind == svn_wc__db_kind_file ||
                      kind == svn_wc__db_kind_symlink);
 
-          SVN_ERR(svn_wc__get_entry(&child_entry, db, child_abspath,
-                                    FALSE,
-                                    is_file ? svn_node_file : svn_node_dir,
-                                    !is_file, iterpool, iterpool));
+          SVN_ERR(svn_wc__db_read_info(&status, NULL, NULL, NULL, NULL, NULL,
+                                       NULL, NULL, NULL, NULL, NULL, NULL,
+                                       NULL, NULL, NULL, NULL, NULL, NULL,
+                                       NULL, NULL, NULL, NULL, NULL, NULL,
+                                       db, child_abspath, iterpool, iterpool));
 
-          if (child_entry->schedule != svn_wc_schedule_delete)
+          if (status != svn_wc__db_status_deleted)
             continue;
 
           /* ### We pass NULL, NULL for cancel_func and cancel_baton below.



Re: svn commit: r899790 - /subversion/trunk/subversion/libsvn_wc/workqueue.c

Posted by "Hyrum K. Wright" <hy...@mail.utexas.edu>.
On Jan 15, 2010, at 4:13 PM, Greg Stein wrote:

> On Fri, Jan 15, 2010 at 14:54,  <hw...@apache.org> wrote:
>> ...
>> +++ subversion/trunk/subversion/libsvn_wc/workqueue.c Fri Jan 15 19:54:47 2010
>> ...
>> @@ -1217,12 +1217,13 @@
>>           is_file = (kind == svn_wc__db_kind_file ||
>>                      kind == svn_wc__db_kind_symlink);
>> 
>> -          SVN_ERR(svn_wc__get_entry(&child_entry, db, child_abspath,
>> -                                    FALSE,
>> -                                    is_file ? svn_node_file : svn_node_dir,
>> -                                    !is_file, iterpool, iterpool));
>> +          SVN_ERR(svn_wc__db_read_info(&status, NULL, NULL, NULL, NULL, NULL,
>> +                                       NULL, NULL, NULL, NULL, NULL, NULL,
>> +                                       NULL, NULL, NULL, NULL, NULL, NULL,
>> +                                       NULL, NULL, NULL, NULL, NULL, NULL,
>> +                                       db, child_abspath, iterpool, iterpool));
>> 
>> -          if (child_entry->schedule != svn_wc_schedule_delete)
>> +          if (status != svn_wc__db_status_deleted)
>>             continue;
> 
> I think you need to check for status_obstructed_delete, too.

r900954.

-Hyrum

Re: svn commit: r899790 - /subversion/trunk/subversion/libsvn_wc/workqueue.c

Posted by Greg Stein <gs...@gmail.com>.
On Fri, Jan 15, 2010 at 14:54,  <hw...@apache.org> wrote:
>...
> +++ subversion/trunk/subversion/libsvn_wc/workqueue.c Fri Jan 15 19:54:47 2010
>...
> @@ -1217,12 +1217,13 @@
>           is_file = (kind == svn_wc__db_kind_file ||
>                      kind == svn_wc__db_kind_symlink);
>
> -          SVN_ERR(svn_wc__get_entry(&child_entry, db, child_abspath,
> -                                    FALSE,
> -                                    is_file ? svn_node_file : svn_node_dir,
> -                                    !is_file, iterpool, iterpool));
> +          SVN_ERR(svn_wc__db_read_info(&status, NULL, NULL, NULL, NULL, NULL,
> +                                       NULL, NULL, NULL, NULL, NULL, NULL,
> +                                       NULL, NULL, NULL, NULL, NULL, NULL,
> +                                       NULL, NULL, NULL, NULL, NULL, NULL,
> +                                       db, child_abspath, iterpool, iterpool));
>
> -          if (child_entry->schedule != svn_wc_schedule_delete)
> +          if (status != svn_wc__db_status_deleted)
>             continue;

I think you need to check for status_obstructed_delete, too.

Cheers,
-g