Index: subversion/include/svn_error_codes.h =================================================================== --- subversion/include/svn_error_codes.h (revision 6521) +++ subversion/include/svn_error_codes.h (working copy) @@ -551,6 +551,11 @@ SVN_ERR_RA_DAV_CATEGORY_START + 6, "Invalid configuration value") + SVN_ERRDEF (SVN_ERR_RA_DAV_PATH_NOT_FOUND, + SVN_ERR_RA_DAV_CATEGORY_START + 7, + "HTTP Path Not Found") + + /* ra_local errors */ SVN_ERRDEF (SVN_ERR_RA_LOCAL_REPOS_NOT_FOUND, Index: subversion/libsvn_ra_dav/props.c =================================================================== --- subversion/libsvn_ra_dav/props.c (revision 6521) +++ subversion/libsvn_ra_dav/props.c (working copy) @@ -654,7 +654,7 @@ if (! err) break; /* found an existing parent! */ - if (err->apr_err != SVN_ERR_RA_DAV_REQUEST_FAILED) + if (err->apr_err != SVN_ERR_RA_DAV_PATH_NOT_FOUND) return err; /* found a _real_ error */ /* else... lop off the basename and try again. */ Index: subversion/libsvn_ra_dav/util.c =================================================================== --- subversion/libsvn_ra_dav/util.c (revision 6521) +++ subversion/libsvn_ra_dav/util.c (working copy) @@ -383,8 +383,16 @@ if ((code != expected_code) || (rv != NE_OK)) { - msg = apr_psprintf(pool, "%s of '%s'", method, url); - err = svn_ra_dav__convert_error(sess, msg, rv); + if (code == 404) + { + msg = apr_psprintf(pool, "'%s' path not found", url); + err = svn_error_create(SVN_ERR_RA_DAV_PATH_NOT_FOUND, NULL, msg); + } + else + { + msg = apr_psprintf(pool, "%s of '%s'", method, url); + err = svn_ra_dav__convert_error(sess, msg, rv); + } goto error; }