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 2010/08/04 13:46:55 UTC
svn commit: r982224 - /subversion/trunk/subversion/libsvn_wc/node.c
Author: rhuijben
Date: Wed Aug 4 11:46:55 2010
New Revision: 982224
URL: http://svn.apache.org/viewvc?rev=982224&view=rev
Log:
* subversion/libsvn_wc/node.c
(walker_helper): Retrieve status and kind at once instead of in two
separate wc_db calls.
(svn_wc__temp_get_keep_local): Resolve warning by moving variable
declaration inside #ifndef
Modified:
subversion/trunk/subversion/libsvn_wc/node.c
Modified: subversion/trunk/subversion/libsvn_wc/node.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/node.c?rev=982224&r1=982223&r2=982224&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/node.c (original)
+++ subversion/trunk/subversion/libsvn_wc/node.c Wed Aug 4 11:46:55 2010
@@ -673,6 +673,7 @@ walker_helper(svn_wc__db_t *db,
{
const char *child_abspath;
svn_wc__db_kind_t child_kind;
+ svn_wc__db_status_t child_status;
svn_pool_clear(iterpool);
@@ -685,27 +686,31 @@ walker_helper(svn_wc__db_t *db,
const char *),
iterpool);
- if (!show_hidden)
- {
- svn_boolean_t hidden;
-
- SVN_ERR(svn_wc__db_node_hidden(&hidden, db, child_abspath, iterpool));
- if (hidden)
- continue;
- }
-
- SVN_ERR(svn_wc__db_read_info(NULL, &child_kind, NULL, NULL, NULL, NULL,
+ SVN_ERR(svn_wc__db_read_info(&child_status, &child_kind, 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 (!show_hidden)
+ switch (child_status)
+ {
+ case svn_wc__db_status_not_present:
+ case svn_wc__db_status_absent:
+ case svn_wc__db_status_excluded:
+ continue;
+ default:
+ break;
+ }
+
/* Return the child, if appropriate. (For a directory,
* this is the first visit: as a child.) */
if (child_kind == svn_wc__db_kind_file
|| depth >= svn_depth_immediates)
{
+ /* ### Maybe we should pass kind to the callback?.
+ ### almost every callee starts by asking for this */
SVN_ERR(walk_callback(child_abspath, walk_baton, iterpool));
}
@@ -1246,9 +1251,9 @@ svn_wc__temp_get_keep_local(svn_boolean_
const char *local_abspath,
apr_pool_t *scratch_pool)
{
+#ifndef SVN_WC__SINGLE_DB
svn_boolean_t is_deleted;
-#ifndef SVN_WC__SINGLE_DB
SVN_ERR(svn_wc__node_is_status_deleted(&is_deleted, wc_ctx, local_abspath,
scratch_pool));
if (is_deleted)