[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Add svn_wc_status_obstructed

From: <cmpilato_at_collab.net>
Date: 2002-08-07 21:05:08 CEST

"Sander Striker" <striker@apache.org> writes:

> Anyhow, the patch attached does add svn_status_obstructed and handles
> STRICT as I describe above, but... I get a bunch o' failing tests :(
>
> At least one test FAILED, checking /opt/src/build/subversion/tests.log
> FAIL: basic_tests.py 1: basic checkout of a wc
> FAIL: basic_tests.py 8: basic cleanup command
> FAIL: basic_tests.py 11: basic delete command
[...]

I applied your patch, and now assemble_status() looks like this:

     [...]
     if (entry->kind == svn_node_dir
         && path_kind == svn_node_dir)
       {
         svn_boolean_t is_wc;
   
         SVN_ERR (svn_wc_check_wc (path, &is_wc, pool));
         if (! is_wc)
           {
             final_text_status = svn_wc_status_obstructed;
   
             if (strict)
               /* ### Not sure if this is the correct error code to use */
               return svn_error_createf (
                        SVN_ERR_WC_NOT_DIRECTORY, 0, NULL, pool,
                        "assemble_status: "
                        "'%s' is obstructing a versioned resource",
                        path);
           }
       }
     else
       {
         /* Implement predecence rules: */
   
         /* 1. Set the two main variables to "discovered" values first (M, C).
               Together, these two stati are of lowest precedence, and C has
               precedence over M. */
   
         /* Does the entry have props? */
         SVN_ERR (svn_wc__has_props (&has_props, path, pool));
         if (has_props)
           final_prop_status = svn_wc_status_normal;
   
         /* If the entry has a property file, see if it has local changes. */
         SVN_ERR (svn_wc_props_modified_p (&prop_modified_p, path, pool));
   
         /* If the entry is a file, check for textual modifications */
         if (entry->kind == svn_node_file)
           SVN_ERR (svn_wc_text_modified_p (&text_modified_p, path, pool));
      [...]

It seems to me that perhaps you have an if-else depth problem in your
code. We will only be checking the "precedence rules" in the case
when either entry->kind or path_kind are non-directories. That seems
wrong.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Aug 7 21:02:49 2002

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.