subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stef...@apache.org
Subject svn commit: r1103671 - in /subversion/trunk/subversion/libsvn_wc: wc_db.c wc_db_pristine.c wc_db_private.h wc_db_wcroot.c
Date Mon, 16 May 2011 10:13:25 GMT
Author: stefan2
Date: Mon May 16 10:13:25 2011
New Revision: 1103671

URL: http://svn.apache.org/viewvc?rev=1103671&view=rev
Log:
Reverse merged revision(s) 1103589 from subversion/trunk
after discussion with Bert.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc_db.c
    subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c
    subversion/trunk/subversion/libsvn_wc/wc_db_private.h
    subversion/trunk/subversion/libsvn_wc/wc_db_wcroot.c

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1103671&r1=1103670&r2=1103671&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Mon May 16 10:13:25 2011
@@ -600,8 +600,7 @@ get_statement_for_path(svn_sqlite__stmt_
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(stmt, wcroot->sdb, stmt_idx));
@@ -1417,8 +1416,7 @@ svn_wc__db_to_relpath(const char **local
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              result_pool, scratch_pool));
+                              wri_abspath, result_pool, scratch_pool));
 
   /* This function is indirectly called from the upgrade code, so we
      can't verify the wcroot here. Just check that it is not NULL */
@@ -1453,8 +1451,7 @@ svn_wc__db_from_relpath(const char **loc
 #endif
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &unused_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   *local_abspath = svn_dirent_join(wcroot->abspath,
@@ -1475,8 +1472,7 @@ svn_wc__db_get_wcroot(const char **wcroo
   const char *unused_relpath;
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &unused_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
 
   /* Can't use VERIFY_USABLE_WCROOT, as this should be usable to detect
      where call upgrade */
@@ -1529,8 +1525,7 @@ svn_wc__db_base_add_directory(svn_wc__db
 #endif
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_ibb(&ibb);
@@ -1610,8 +1605,7 @@ svn_wc__db_base_add_file(svn_wc__db_t *d
   SVN_ERR_ASSERT(checksum != NULL);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_file, 
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_ibb(&ibb);
@@ -1690,8 +1684,7 @@ svn_wc__db_base_add_symlink(svn_wc__db_t
   SVN_ERR_ASSERT(target != NULL);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_ibb(&ibb);
@@ -1769,8 +1762,7 @@ add_absent_excluded_not_present_node(svn
   svn_dirent_split(&dir_abspath, &name, local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              dir_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              dir_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   local_relpath = svn_relpath_join(local_relpath, name, scratch_pool);
@@ -1895,8 +1887,7 @@ svn_wc__db_base_remove(svn_wc__db_t *db,
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, db_base_remove, NULL,
@@ -2074,8 +2065,7 @@ svn_wc__db_base_get_info(svn_wc__db_stat
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(base_get_info(status, kind, revision, repos_relpath, &repos_id,
@@ -2105,8 +2095,7 @@ svn_wc__db_base_get_children_info(apr_ha
   SVN_ERR_ASSERT(svn_dirent_is_absolute(dir_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              dir_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              dir_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   *nodes = apr_hash_make(result_pool);
@@ -2213,7 +2202,7 @@ svn_wc__db_base_get_children(const apr_a
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                             local_abspath, svn_node_unknown,
+                                             local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -2285,8 +2274,7 @@ svn_wc__db_base_clear_dav_cache_recursiv
   svn_sqlite__stmt_t *stmt;
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                                             db, local_abspath, 
-                                             svn_node_unknown,
+                                             db, local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -2778,8 +2766,7 @@ svn_wc__db_external_add_file(svn_wc__db_
     wri_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR_ASSERT(svn_dirent_is_ancestor(wcroot->abspath,
@@ -2863,8 +2850,7 @@ svn_wc__db_external_add_symlink(svn_wc__
     wri_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR_ASSERT(svn_dirent_is_ancestor(wcroot->abspath,
@@ -2937,8 +2923,7 @@ svn_wc__db_external_add_dir(svn_wc__db_t
     wri_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR_ASSERT(svn_dirent_is_ancestor(wcroot->abspath,
@@ -3003,8 +2988,7 @@ svn_wc__db_external_remove(svn_wc__db_t 
     wri_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR_ASSERT(svn_dirent_is_ancestor(wcroot->abspath, local_abspath));
@@ -3024,15 +3008,6 @@ svn_wc__db_external_remove(svn_wc__db_t 
 #endif
 }
 
-/* Only files may have a file SIZE > 0. 
- * Return svn_node_unknown for everything else */
-static svn_node_kind_t
-kind_by_filesize(svn_filesize_t size)
-{
-  /* > 0 implies != SVN_INVALID_FILESIZE */
-  return size > 0 ? svn_node_file : svn_node_unknown; 
-}
-
 svn_error_t *
 svn_wc__db_external_record_fileinfo(svn_wc__db_t *db,
                                     const char *local_abspath,
@@ -3049,8 +3024,7 @@ svn_wc__db_external_record_fileinfo(svn_
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, kind_by_filesize(recorded_size), 
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -3106,8 +3080,7 @@ svn_wc__db_external_read(svn_wc__db_stat
     wri_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR_ASSERT(svn_dirent_is_ancestor(wcroot->abspath, local_abspath));
@@ -3323,8 +3296,7 @@ svn_wc__db_external_read_pristine_props(
     wri_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR_ASSERT(svn_dirent_is_ancestor(wcroot->abspath, local_abspath));
@@ -3391,8 +3363,7 @@ svn_wc__db_external_read_props(apr_hash_
     wri_abspath = svn_dirent_dirname(local_abspath, scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR_ASSERT(svn_dirent_is_ancestor(wcroot->abspath, local_abspath));
@@ -3915,14 +3886,12 @@ svn_wc__db_op_copy(svn_wc__db_t *db,
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&ocb.src_wcroot,
                                                 &ocb.src_relpath, db,
                                                 src_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(ocb.src_wcroot);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&ocb.dst_wcroot,
                                                 &ocb.dst_relpath,
                                                 db, dst_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(ocb.dst_wcroot);
 
@@ -4227,14 +4196,12 @@ svn_wc__db_op_copy_shadowed_layer(svn_wc
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&ocb.src_wcroot,
                                                 &ocb.src_relpath, db,
                                                 src_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(ocb.src_wcroot);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&ocb.dst_wcroot,
                                                 &ocb.dst_relpath,
                                                 db, dst_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(ocb.dst_wcroot);
 
@@ -4437,8 +4404,7 @@ svn_wc__db_op_copy_dir(svn_wc__db_t *db,
   SVN_ERR_ASSERT(conflict == NULL);  /* ### can't handle yet  */
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_iwb(&iwb);
@@ -4512,8 +4478,7 @@ svn_wc__db_op_copy_file(svn_wc__db_t *db
   SVN_ERR_ASSERT(conflict == NULL);  /* ### can't handle yet  */
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_iwb(&iwb);
@@ -4582,8 +4547,7 @@ svn_wc__db_op_copy_symlink(svn_wc__db_t 
   SVN_ERR_ASSERT(conflict == NULL);  /* ### can't handle yet  */
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_iwb(&iwb);
@@ -4637,8 +4601,7 @@ svn_wc__db_op_add_directory(svn_wc__db_t
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_iwb(&iwb);
@@ -4670,8 +4633,7 @@ svn_wc__db_op_add_file(svn_wc__db_t *db,
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_file,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_iwb(&iwb);
@@ -4705,8 +4667,7 @@ svn_wc__db_op_add_symlink(svn_wc__db_t *
   SVN_ERR_ASSERT(target != NULL);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   blank_iwb(&iwb);
@@ -4769,8 +4730,7 @@ svn_wc__db_global_record_fileinfo(svn_wc
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, kind_by_filesize(translated_size), 
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   rb.translated_size = translated_size;
@@ -4895,8 +4855,7 @@ svn_wc__db_op_set_props(svn_wc__db_t *db
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                              db, local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              db, local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   spb.props = props;
@@ -5214,7 +5173,6 @@ svn_wc__db_op_set_changelist(svn_wc__db_
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -5267,8 +5225,7 @@ svn_wc__db_op_mark_resolved(svn_wc__db_t
   SVN_ERR_ASSERT(!resolved_tree);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* ### these two statements are not transacted together. is this a
@@ -5378,8 +5335,7 @@ svn_wc__db_op_set_tree_conflict(svn_wc__
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                              db, local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              db, local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, set_tc_txn,
@@ -5616,8 +5572,7 @@ svn_wc__db_op_revert(svn_wc__db_t *db,
     }
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                              db, local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              db, local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, with_triggers, &wtb,
@@ -5723,8 +5678,7 @@ svn_wc__db_revert_list_read(svn_boolean_
                                      result_pool};
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                              db, local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              db, local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, revert_list_read, &b,
@@ -5746,8 +5700,7 @@ svn_wc__db_revert_list_notify(svn_wc_not
   apr_pool_t *iterpool = svn_pool_create(scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                              db, local_abspath, svn_node_unknown,
-                              scratch_pool, iterpool));
+                              db, local_abspath, scratch_pool, iterpool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   like_arg = construct_like_arg(local_relpath, scratch_pool);
@@ -5859,8 +5812,7 @@ svn_wc__db_op_read_all_tree_conflicts(ap
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(read_all_tree_conflicts(tree_conflicts, wcroot, local_relpath,
@@ -5930,8 +5882,7 @@ svn_wc__db_op_read_tree_conflict(
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
 
   SVN_ERR(read_tree_conflict(tree_conflict, wcroot, local_relpath,
                              result_pool, scratch_pool));
@@ -6023,8 +5974,7 @@ svn_wc__db_op_remove_node(svn_wc__db_t *
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   rnb.not_present_rev = not_present_revision;
@@ -6052,8 +6002,7 @@ svn_wc__db_temp_op_remove_working(svn_wc
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(flush_entries(wcroot, local_abspath, scratch_pool));
@@ -6113,8 +6062,7 @@ svn_wc__db_op_set_base_depth(svn_wc__db_
   SVN_ERR_ASSERT(depth >= svn_depth_empty && depth <= svn_depth_infinity);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* ### We set depth on working and base to match entry behavior.
@@ -6410,7 +6358,6 @@ svn_wc__db_op_delete(svn_wc__db_t *db,
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -6819,8 +6766,7 @@ svn_wc__db_read_info(svn_wc__db_status_t
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(read_info(status, kind, revision, repos_relpath, &repos_id,
@@ -7086,7 +7032,7 @@ svn_wc__db_read_children_info(apr_hash_t
   SVN_ERR_ASSERT(svn_dirent_is_absolute(dir_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &dir_relpath, db,
-                                                dir_abspath, svn_node_dir,
+                                                dir_abspath,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -7127,8 +7073,7 @@ svn_wc__db_read_pristine_info(svn_wc__db
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                                local_abspath, 
-                                                svn_node_unknown,
+                                                local_abspath,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -7263,7 +7208,7 @@ svn_wc__db_read_children_walker_info(apr
   SVN_ERR_ASSERT(svn_dirent_is_absolute(dir_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &dir_relpath, db,
-                                             dir_abspath, svn_node_dir,
+                                             dir_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -7334,8 +7279,7 @@ svn_wc__db_read_node_install_info(const 
     wri_abspath = local_abspath;
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   if (local_abspath != wri_abspath
@@ -7575,7 +7519,7 @@ svn_wc__db_read_url(const char **url,
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                                local_abspath, svn_node_unknown,
+                                                local_abspath,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -7651,8 +7595,7 @@ svn_wc__db_read_props(apr_hash_t **props
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   rpb.result_pool = result_pool;
@@ -7775,8 +7718,7 @@ svn_wc__db_read_props_streamily(svn_wc__
                  (depth == svn_depth_infinity));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                                                db, local_abspath, 
-                                                svn_node_unknown,
+                                                db, local_abspath,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -7954,8 +7896,7 @@ svn_wc__db_read_pristine_props(apr_hash_
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(db_read_pristine_props(props, wcroot, local_relpath,
@@ -7977,7 +7918,7 @@ svn_wc__db_read_children_of_working_node
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                             local_abspath, svn_node_unknown,
+                                             local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -8132,7 +8073,7 @@ svn_wc__db_node_check_replace(svn_boolea
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                             local_abspath, svn_node_unknown,
+                                             local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -8172,7 +8113,7 @@ svn_wc__db_read_children(const apr_array
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                             local_abspath, svn_node_unknown,
+                                             local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -8256,8 +8197,7 @@ svn_wc__db_global_relocate(svn_wc__db_t 
   /* ### assert that we were passed a directory?  */
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_dir_relpath,
-                           db, local_dir_abspath, svn_node_dir,
-                           scratch_pool, scratch_pool));
+                           db, local_dir_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
   local_relpath = local_dir_relpath;
 
@@ -8719,8 +8659,7 @@ svn_wc__db_global_commit(svn_wc__db_t *d
   SVN_ERR_ASSERT(new_checksum == NULL || new_children == NULL);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   cb.new_revision = new_revision;
@@ -8799,8 +8738,7 @@ svn_wc__db_global_update(svn_wc__db_t *d
                      && new_target != NULL));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   ub.new_repos_relpath = new_repos_relpath;
@@ -9077,8 +9015,7 @@ svn_wc__db_op_bump_revisions_post_update
   struct bump_revisions_baton_t brb;
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
 
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -9150,8 +9087,7 @@ svn_wc__db_lock_add(svn_wc__db_t *db,
   SVN_ERR_ASSERT(lock != NULL);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, lock_add_txn,
@@ -9201,8 +9137,7 @@ svn_wc__db_lock_remove(svn_wc__db_t *db,
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, lock_remove_txn, NULL,
@@ -9231,8 +9166,7 @@ svn_wc__db_scan_base_repos(const char **
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(base_get_info(NULL, NULL, NULL, repos_relpath, &repos_id,
@@ -9562,8 +9496,7 @@ svn_wc__db_scan_addition(svn_wc__db_stat
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(scan_addition(status, &op_root_relpath, repos_relpath, repos_id_p,
@@ -9832,8 +9765,7 @@ svn_wc__db_scan_deletion(const char **ba
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(scan_deletion(&base_del_relpath, &moved_to_relpath,
@@ -10108,8 +10040,7 @@ svn_wc__db_wq_add(svn_wc__db_t *db,
     return SVN_NO_ERROR;
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* Add the work item(s) to the WORK_QUEUE.  */
@@ -10136,8 +10067,7 @@ svn_wc__db_wq_fetch(apr_uint64_t *id,
   SVN_ERR_ASSERT(svn_dirent_is_absolute(wri_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -10179,8 +10109,7 @@ svn_wc__db_wq_completed(svn_wc__db_t *db
   SVN_ERR_ASSERT(id != 0);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -10205,8 +10134,7 @@ svn_wc__db_temp_get_format(int *format,
   /* ### assert that we were passed a directory?  */
 
   err = svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                local_dir_abspath, svn_node_dir,
-                                scratch_pool, scratch_pool);
+                                local_dir_abspath, scratch_pool, scratch_pool);
 
   /* If we hit an error examining this directory, then declare this
      directory to not be a working copy.  */
@@ -10250,8 +10178,7 @@ svn_wc__db_temp_get_access(svn_wc__db_t 
      ### ideally: the caller would never ask us about a non-directory.  */
 
   err = svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                            db, local_dir_abspath, svn_node_dir,
-                            scratch_pool, scratch_pool);
+                            db, local_dir_abspath, scratch_pool, scratch_pool);
   if (err)
     {
       svn_error_clear(err);
@@ -10281,8 +10208,7 @@ svn_wc__db_temp_set_access(svn_wc__db_t 
   /* ### assert that we were passed a directory?  */
 
   err = svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                            db, local_dir_abspath, svn_node_dir,
-                            scratch_pool, scratch_pool);
+                            db, local_dir_abspath, scratch_pool, scratch_pool);
   if (err)
     {
       /* We don't even have a wcroot, so just bail. */
@@ -10313,8 +10239,7 @@ svn_wc__db_temp_close_access(svn_wc__db_
   /* ### assert that we were passed a directory?  */
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_dir_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              local_dir_abspath, scratch_pool, scratch_pool));
   apr_hash_set(wcroot->access_cache, local_dir_abspath,
                APR_HASH_KEY_STRING, NULL);
 
@@ -10336,8 +10261,7 @@ svn_wc__db_temp_clear_access(svn_wc__db_
   /* ### assert that we were passed a directory?  */
 
   err = svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                            db, local_dir_abspath, svn_node_dir,
-                            scratch_pool, scratch_pool);
+                            db, local_dir_abspath, scratch_pool, scratch_pool);
   if (err)
     {
       svn_error_clear(err);
@@ -10383,8 +10307,7 @@ svn_wc__db_temp_borrow_sdb(svn_sqlite__d
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_dir_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                            local_dir_abspath, svn_node_dir,
-                            scratch_pool, scratch_pool));
+                            local_dir_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   *sdb = wcroot->sdb;
@@ -10408,8 +10331,7 @@ svn_wc__db_read_conflict_victims(const a
 
   /* The parent should be a working copy directory. */
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* ### This will be much easier once we have all conflicts in one
@@ -10455,8 +10377,7 @@ svn_wc__db_read_conflicts(const apr_arra
 
   /* The parent should be a working copy directory. */
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* ### This will be much easier once we have all conflicts in one
@@ -10565,8 +10486,7 @@ svn_wc__db_read_kind(svn_wc__db_kind_t *
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(&stmt_info, wcroot->sdb,
@@ -10612,8 +10532,7 @@ svn_wc__db_node_hidden(svn_boolean_t *hi
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(read_info(&status, NULL, NULL, NULL, NULL, NULL,
@@ -10643,8 +10562,7 @@ svn_wc__db_is_wcroot(svn_boolean_t *is_r
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   if (*local_relpath != '\0')
@@ -10674,8 +10592,7 @@ svn_wc__db_temp_wcroot_tempdir(const cha
   SVN_ERR_ASSERT(svn_dirent_is_absolute(wri_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   *temp_dir_abspath = svn_dirent_join_many(result_pool,
@@ -10894,8 +10811,7 @@ svn_wc__db_wclock_obtain(svn_wc__db_t *d
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                                             db, local_abspath, 
-                                             svn_node_unknown,
+                                             db, local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -11007,8 +10923,7 @@ svn_wc__db_wclock_release(svn_wc__db_t *
   apr_array_header_t *owned_locks;
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
 
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -11115,8 +11030,7 @@ svn_wc__db_wclock_owns_lock(svn_boolean_
   const char *local_relpath;
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
 
   if (!wcroot)
     return svn_error_createf(SVN_ERR_WC_NOT_WORKING_COPY, NULL,
@@ -11168,8 +11082,7 @@ svn_wc__db_temp_op_end_directory_update(
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_dir_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_dir_abspath, svn_node_dir,
-                              scratch_pool, scratch_pool));
+                              local_dir_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, end_directory_update,
@@ -11230,8 +11143,7 @@ svn_wc__db_temp_op_start_directory_updat
   SVN_ERR_ASSERT(svn_relpath_is_canonical(new_repos_relpath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   du.new_rev = new_rev;
@@ -11400,8 +11312,7 @@ svn_wc__db_temp_op_make_copy(svn_wc__db_
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* The update editor is supposed to call this function when there is
@@ -11496,7 +11407,7 @@ svn_wc__db_temp_op_set_text_conflict_mar
   SVN_ERR_ASSERT(!wrk_abspath || svn_dirent_is_absolute(wrk_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                             local_abspath, svn_node_unknown,
+                                             local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -11586,7 +11497,7 @@ svn_wc__db_temp_op_set_property_conflict
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                                             local_abspath, svn_node_unknown,
+                                             local_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -11653,7 +11564,6 @@ svn_wc__db_temp_op_set_new_dir_to_incomp
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
 
   VERIFY_USABLE_WCROOT(wcroot);
@@ -11694,8 +11604,7 @@ svn_wc__db_info_below_working(svn_boolea
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
   SVN_ERR(info_below_working(have_base, have_work, status,
                              wcroot, local_relpath, -1, scratch_pool));
@@ -11718,8 +11627,7 @@ svn_wc__db_get_not_present_descendants(c
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              local_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              local_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -11817,8 +11725,7 @@ svn_wc__db_min_max_revisions(svn_revnum_
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                                                db, local_abspath, 
-                                                svn_node_unknown,
+                                                db, local_abspath,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -11868,7 +11775,6 @@ svn_wc__db_is_sparse_checkout(svn_boolea
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -11980,7 +11886,6 @@ svn_wc__db_has_switched_subtrees(svn_boo
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -12004,7 +11909,6 @@ svn_wc__db_get_absent_subtrees(apr_hash_
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -12168,7 +12072,6 @@ svn_wc__db_has_local_mods(svn_boolean_t 
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -12280,7 +12183,6 @@ svn_wc__db_revision_status(svn_revnum_t 
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -12308,7 +12210,6 @@ svn_wc__db_base_get_lock_tokens_recursiv
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, local_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -12448,7 +12349,6 @@ svn_wc__db_verify(svn_wc__db_t *db,
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
                                                 db, wri_abspath,
-                                                svn_node_unknown,
                                                 scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 

Modified: subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c?rev=1103671&r1=1103670&r2=1103671&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_pristine.c Mon May 16 10:13:25 2011
@@ -113,8 +113,7 @@ svn_wc__db_pristine_get_path(const char 
   SVN_ERR_ASSERT(sha1_checksum->kind == svn_checksum_sha1);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath,
-                                             db, wri_abspath, 
-                                             svn_node_unknown,
+                                             db, wri_abspath,
                                              scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
@@ -230,8 +229,7 @@ svn_wc__db_pristine_read(svn_stream_t **
   SVN_ERR_ASSERT(sha1_checksum->kind == svn_checksum_sha1);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   b.contents = contents;
@@ -274,8 +272,7 @@ svn_wc__db_pristine_get_tempdir(const ch
   SVN_ERR_ASSERT(svn_dirent_is_absolute(wri_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown,
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   *temp_dir_abspath = pristine_get_tempdir(wcroot, result_pool, scratch_pool);
@@ -419,8 +416,7 @@ svn_wc__db_pristine_install(svn_wc__db_t
                                    scratch_pool);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   b.tempfile_abspath = tempfile_abspath;
@@ -459,8 +455,7 @@ svn_wc__db_pristine_get_md5(const svn_ch
   SVN_ERR_ASSERT(sha1_checksum->kind == svn_checksum_sha1);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb, STMT_SELECT_PRISTINE));
@@ -498,8 +493,7 @@ svn_wc__db_pristine_get_sha1(const svn_c
   SVN_ERR_ASSERT(md5_checksum->kind == svn_checksum_md5);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(svn_sqlite__get_statement(&stmt, wcroot->sdb,
@@ -652,8 +646,7 @@ svn_wc__db_pristine_remove(svn_wc__db_t 
   SVN_ERR_ASSERT(sha1_checksum->kind == svn_checksum_sha1);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* If the work queue is not empty, don't delete any pristine text because
@@ -717,8 +710,7 @@ svn_wc__db_pristine_cleanup(svn_wc__db_t
   SVN_ERR_ASSERT(svn_dirent_is_absolute(wri_abspath));
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   SVN_ERR(pristine_cleanup_wcroot(wcroot, scratch_pool));
@@ -751,8 +743,7 @@ svn_wc__db_pristine_check(svn_boolean_t 
   SVN_ERR_ASSERT(sha1_checksum->kind == svn_checksum_sha1);
 
   SVN_ERR(svn_wc__db_wcroot_parse_local_abspath(&wcroot, &local_relpath, db,
-                              wri_abspath, svn_node_unknown, 
-                              scratch_pool, scratch_pool));
+                              wri_abspath, scratch_pool, scratch_pool));
   VERIFY_USABLE_WCROOT(wcroot);
 
   /* Check that there is an entry in the PRISTINE table. */

Modified: subversion/trunk/subversion/libsvn_wc/wc_db_private.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_private.h?rev=1103671&r1=1103670&r2=1103671&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_private.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_private.h Mon May 16 10:13:25 2011
@@ -125,10 +125,7 @@ svn_wc__db_pdh_create_wcroot(svn_wc__db_
 
 
 /* For a given LOCAL_ABSPATH, figure out what sqlite database (WCROOT) to
-   use and the RELPATH within that wcroot. KIND serves to prevent unnecessary
-   stat calls and may be set to svn_node_file, if LOCAL_ABSPATH is known to
-   refer to a file. Similarly, svn_node_dir may be used for directories. 
-   Otherwise, it must be svn_node_unknown.
+   use and the RELPATH within that wcroot.
 
    *LOCAL_RELPATH will be allocated within RESULT_POOL. Temporary allocations
    will be made in SCRATCH_POOL.
@@ -142,7 +139,6 @@ svn_wc__db_wcroot_parse_local_abspath(sv
                                       const char **local_relpath,
                                       svn_wc__db_t *db,
                                       const char *local_abspath,
-                                      svn_node_kind_t kind,
                                       apr_pool_t *result_pool,
                                       apr_pool_t *scratch_pool);
 

Modified: subversion/trunk/subversion/libsvn_wc/wc_db_wcroot.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_wcroot.c?rev=1103671&r1=1103670&r2=1103671&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_wcroot.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_wcroot.c Mon May 16 10:13:25 2011
@@ -344,12 +344,12 @@ svn_wc__db_wcroot_parse_local_abspath(sv
                                       const char **local_relpath,
                                       svn_wc__db_t *db,
                                       const char *local_abspath,
-                                      svn_node_kind_t kind,
                                       apr_pool_t *result_pool,
                                       apr_pool_t *scratch_pool)
 {
   const char *local_dir_abspath;
   const char *original_abspath = local_abspath;
+  svn_node_kind_t kind;
   const char *build_relpath;
   svn_wc__db_wcroot_t *probe_wcroot;
   svn_wc__db_wcroot_t *found_wcroot = NULL;
@@ -380,15 +380,11 @@ svn_wc__db_wcroot_parse_local_abspath(sv
       return SVN_NO_ERROR;
     }
 
-  if (kind == svn_node_unknown)
-    {
-      /* ### at some point in the future, we may need to find a way to get
-         ### rid of this stat() call. it is going to happen for EVERY call
-         ### into wc_db which references a file. calls for directories could
-         ### get an early-exit in the hash lookup just above.  */
-      SVN_ERR(get_path_kind(db, local_abspath, &kind, scratch_pool));
-    }
-    
+  /* ### at some point in the future, we may need to find a way to get
+     ### rid of this stat() call. it is going to happen for EVERY call
+     ### into wc_db which references a file. calls for directories could
+     ### get an early-exit in the hash lookup just above.  */
+  SVN_ERR(get_path_kind(db, local_abspath, &kind, scratch_pool));
   if (kind != svn_node_dir)
     {
       /* If the node specified by the path is NOT present, then it cannot



Mime
View raw message