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/02 17:42:48 UTC
svn commit: r981568 - /subversion/trunk/subversion/libsvn_wc/node.c
Author: rhuijben
Date: Mon Aug 2 15:42:48 2010
New Revision: 981568
URL: http://svn.apache.org/viewvc?rev=981568&view=rev
Log:
* subversion/libsvn_wc/node.c
(svn_wc_read_kind): Read status and kind on one db operation,
instead of using helpers that together do this multiple times.
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=981568&r1=981567&r2=981568&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/node.c (original)
+++ subversion/trunk/subversion/libsvn_wc/node.c Mon Aug 2 15:42:48 2010
@@ -173,15 +173,20 @@ svn_wc__node_get_repos_info(const char *
svn_error_t *
svn_wc_read_kind(svn_node_kind_t *kind,
svn_wc_context_t *wc_ctx,
- const char *abspath,
+ const char *local_abspath,
svn_boolean_t show_hidden,
apr_pool_t *scratch_pool)
{
+ svn_wc__db_status_t db_status;
svn_wc__db_kind_t db_kind;
svn_error_t *err;
- err = svn_wc__db_read_kind(&db_kind, wc_ctx->db, abspath, FALSE,
- scratch_pool);
+ err = svn_wc__db_read_info(&db_status, &db_kind, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL,
+ wc_ctx->db, local_abspath,
+ scratch_pool, scratch_pool);
if (err && err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND)
{
@@ -212,14 +217,14 @@ svn_wc_read_kind(svn_node_kind_t *kind,
/* Make sure hidden nodes return svn_node_none. */
if (! show_hidden)
- {
- svn_boolean_t hidden;
-
- SVN_ERR(svn_wc__db_node_hidden(&hidden, wc_ctx->db, abspath,
- scratch_pool));
- if (hidden)
- *kind = svn_node_none;
- }
+ switch (db_status)
+ {
+ case svn_wc__db_status_not_present:
+ case svn_wc__db_status_absent:
+ case svn_wc__db_status_excluded:
+ *kind = svn_node_none;
+ break;
+ }
return SVN_NO_ERROR;
}