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

Reply via email to