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

Re: "svn status -u" doesn't report failure to connect to repository via DAV

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: 2003-09-17 17:44:48 CEST

cmpilato@collab.net wrote:
> Julian Foad <julianfoad@btopenworld.com> writes:
>
>>If "svn st -u" can't contact the repository (via DAV), it proceeds
>>without an error or warning, and prints "*" by every item. If it
>>can't contact the repos via "file:", it prints an appropriate error
>>message and quits, which I think is the right behaviour. Anyone
>>have a fix for the case of DAV access?
>
> Hm. The '*' thing should only happen if it *can* contact the
> repository and learns, by doing so, that the target of the status has
> been removed from HEAD in the repository. Are the two RA layers
> returning different errors from their RA->check_path() calls, or are we
> even getting that far?

Huh ... it returns a "generic error". Here's the relevant code from subversion/libsvn_ra_dav/props.c:

  if (err == SVN_NO_ERROR)
    {
      if (is_dir)
        *kind = svn_node_dir;
      else
        *kind = svn_node_file;
    }
  else /* some error, read the comment below */
    {
      /* ### This is way too general. We should only convert the
       * error to `svn_node_none' if we're sure that's what the error
       * means; for example, the test used to be this
       *
       * (err && (err->apr_err == SVN_ERR_RA_DAV_PROPS_NOT_FOUND))
       *
       * which seemed reasonable...
       *
       * However, right now svn_ra_dav__get_props() returns a generic
       * error when the entity doesn't exist. It's APR_EGENERAL or
       * something like that, and ne_get_status(req)->code == 500, not
       * 404. I don't know whether this is something that can be
       * improved just in that function, or if the server will need to
       * be more descriptive about the error. Greg, thoughts?
       */

      svn_error_clear (err);
      *kind = svn_node_none;
      return SVN_NO_ERROR;
    }

If no-one has a solution yet, I'll file an issue. (I can't find one.)

- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Sep 17 17:44:33 2003

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.