Philip Martin <philip.mar...@wandisco.com> writes: > Philip Martin <philip.mar...@wandisco.com> writes: > >> Greg Stein <gst...@gmail.com> writes: >> >>> With this change, our code no longer reads "all entries", nor does it >>> attempt to cache that hash of entries. >>> >>> The only way to do so, is with svn_wc_entries_read(), >>> svn_wc_walk_entries3(), or svn_wc_entry(). All three are deprecated >>> and not used by trunk. >>> >>> Not seeing much of a performance gain, though. (I suspect SQLite >>> caching was helping us before) >>> >>> Cheers, >>> -g >>> >>> ps. this breaks special_tests 12 and stat_tests 5. I'll fix after sleep... >> >> A lot more than that here, e.g. basic_tests 1, 2, 3, 4, 5, 6, 7, 8, 9, >> 10, 11, 12, 13, 14, 15, 16, 17, 23, 31, 32, 35, 38, 40 and 48 all >> fail. A typical failure is: > > This might be because 'svn status -u' now fails on the root of a > working copy:
Yes. svn_wc__get_entry now returns SVN_ERR_WC_NOT_DIRECTORY in cases where it previously returned SVN_ERR_WC_MISSING. This patch Index: subversion/libsvn_wc/status.c =================================================================== --- subversion/libsvn_wc/status.c (revision 936248) +++ subversion/libsvn_wc/status.c (working copy) @@ -2401,6 +2401,7 @@ err = svn_wc__get_entry(&parent_entry, db, parent_abspath, TRUE, svn_node_dir, FALSE, scratch_pool, scratch_pool); if (err && (err->apr_err == SVN_ERR_WC_MISSING + || err->apr_err == SVN_ERR_WC_NOT_DIRECTORY || err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND || err->apr_err == SVN_ERR_NODE_UNEXPECTED_KIND)) { reduces the number of errors but I guess there are other places that need to change. -- Philip