This is the wrong level for this. wc_db should error. Next layer up
ought to absorb the error and return an empty proplist.
ie. wc_db functions are all very strict about their inputs.
On May 12, 2009, at 7:17, "C. Michael Pilato" <cmpilato_at_collab.net>
wrote:
> Author: cmpilato
> Date: Mon May 11 22:17:58 2009
> New Revision: 37693
>
> Log:
> Get some more DAV tests passing again by restoring old-wc behavior to
> the wc-ng wcprops fetching code.
>
> * subversion/libsvn_wc/wc_db.c
> (svn_wc__db_base_get_dav_cache): Tolerate requests on unversioned
> items like the old WC did.
>
> Modified:
> trunk/subversion/libsvn_wc/wc_db.c
>
> Modified: trunk/subversion/libsvn_wc/wc_db.c
> URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_wc/wc_db.c?pathrev=37693&r1=37692&r2=37693
> ===
> ===
> ===
> =====================================================================
> --- trunk/subversion/libsvn_wc/wc_db.c Mon May 11 15:00:26
> 2009 (r37692)
> +++ trunk/subversion/libsvn_wc/wc_db.c Mon May 11 22:17:58
> 2009 (r37693)
> @@ -2202,11 +2202,13 @@ svn_wc__db_base_get_dav_cache(apr_hash_t
> SVN_ERR(svn_sqlite__step(&have_row, stmt));
> if (!have_row)
> {
> + /* We'll gracefully returning an empty hash when our SELECT
> + statement returned nothing because -- for good or for ill --
> + the old WC code did the same for wcprop queries on
> + unversioned items. */
> SVN_ERR(svn_sqlite__reset(stmt));
> - return svn_error_createf(SVN_ERR_WC_PATH_NOT_FOUND, NULL,
> - _("The node '%s' was not found."),
> - svn_dirent_local_style(local_abspath,
> - scratch_pool));
> + *props = apr_hash_make(result_pool);
> + return SVN_NO_ERROR;
> }
>
> SVN_ERR(svn_sqlite__column_properties(props, stmt, 0, result_pool,
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=495&dsMessageId=2204581
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2206755
Received on 2009-05-12 09:23:13 CEST