Philip Martin <philip.martin_at_wandisco.com> writes:
> Philip Martin <philip.martin_at_wandisco.com> writes:
>
>> Greg Stein <gstein_at_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
Received on 2010-04-21 13:46:33 CEST