> -----Original Message-----
> From: s...@apache.org [mailto:s...@apache.org]
> Sent: donderdag 10 maart 2011 16:43
> To: comm...@subversion.apache.org
> Subject: svn commit: r1080253 - in /subversion/trunk/subversion/libsvn_wc:
> revision_status.c wc_db.c wc_db.h
> 
> Author: stsp
> Date: Thu Mar 10 15:43:22 2011
> New Revision: 1080253
> 
> URL: http://svn.apache.org/viewvc?rev=1080253&view=rev
> Log:
> Move code detecting whether the working copy is switched from a given
> TRAIL_URL from svn_wc_revision_status2() into
> svn_wc__db_revision_status().
> 
> * subversion/libsvn_wc/revision_status.c
>   (svn_wc__db_revision_status2): Pass TRAIL_URL to
> svn_wc__db_revision_status(),
>    instead of evaluating it here.
> 
> * subversion/libsvn_wc/wc_db.c
>   (svn_wc__db_revision_status): Accept TRAIL_URL argument, and use it
>    to check whether the working copy is switched.
> 
> * subversion/libsvn_wc/wc_db.h
>   (svn_wc__db_revision_status): Update declaration and docstring.
> 
> Modified:
>     subversion/trunk/subversion/libsvn_wc/revision_status.c
>     subversion/trunk/subversion/libsvn_wc/wc_db.c
>     subversion/trunk/subversion/libsvn_wc/wc_db.h
> 

<snip>

> Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_
> db.c?rev=1080253&r1=1080252&r2=1080253&view=diff
> ==========================================================
> ====================
> --- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
> +++ subversion/trunk/subversion/libsvn_wc/wc_db.c Thu Mar 10 15:43:22
> 2011
> @@ -9082,6 +9082,7 @@ svn_wc__db_revision_status(svn_revnum_t
>                             svn_boolean_t *is_switched,
>                             svn_wc__db_t *db,
>                             const char *local_abspath,
> +                           const char *trail_url,
>                             svn_boolean_t committed,
>                             apr_pool_t *scratch_pool)
>  {
> @@ -9221,6 +9222,28 @@ svn_wc__db_revision_status(svn_revnum_t
>    *is_switched = have_row;
>    SVN_ERR(svn_sqlite__reset(stmt));
> 
> +  if (! *is_switched && trail_url != NULL)
> +    {
> +      const char *url;
> +
> +      /* If the trailing part of the URL of the working copy directory
> +         does not match the given trailing URL then the whole working
> +         copy is switched. */
> +      SVN_ERR(svn_wc__internal_node_get_url(&url, db, local_abspath,
> +                                            scratch_pool, scratch_pool));

I don't think the DB api implementation should call into the higher layer APIs 
which abstract the DB api. Can you replace this call by one or more calls to 
the wc_db api?

        Bert 


Reply via email to