You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2016/11/06 12:06:54 UTC
svn commit: r1768311 - in /subversion/trunk/subversion: include/svn_ra.h
libsvn_client/list.c libsvn_ra/ra_loader.c
Author: stefan2
Date: Sun Nov 6 12:06:54 2016
New Revision: 1768311
URL: http://svn.apache.org/viewvc?rev=1768311&view=rev
Log:
Use the correct error code to signal that a server does not implement
svn_ra_list.
* subversion/include/svn_ra.h
(svn_ra_list): Explicitly document the error code that can be expected.
* subversion/libsvn_ra/ra_loader.c
(svn_ra_list): Return "feature not supported" instead of "entire protocol
scheme not supported".
* subversion/libsvn_client/list.c
(list_internal): We now only need to test for one error condition.
Found by: danielsh
Modified:
subversion/trunk/subversion/include/svn_ra.h
subversion/trunk/subversion/libsvn_client/list.c
subversion/trunk/subversion/libsvn_ra/ra_loader.c
Modified: subversion/trunk/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_ra.h?rev=1768311&r1=1768310&r2=1768311&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_ra.h (original)
+++ subversion/trunk/subversion/include/svn_ra.h Sun Nov 6 12:06:54 2016
@@ -1173,6 +1173,10 @@ typedef svn_error_t *(* svn_ra_dirent_re
* @a path must point to a directory and @a depth must be at least
* @c svn_depth_empty.
*
+ * If the server doesn't support the 'list' command, return
+ * @c SVN_ERR_UNSUPPORTED_FEATURE in preference to any other error that
+ * might otherwise be returned.
+ *
* Use @a scratch_pool for temporary memory allocation.
*
* @since New in 1.10.
Modified: subversion/trunk/subversion/libsvn_client/list.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/list.c?rev=1768311&r1=1768310&r2=1768311&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/list.c (original)
+++ subversion/trunk/subversion/libsvn_client/list.c Sun Nov 6 12:06:54 2016
@@ -378,8 +378,7 @@ list_internal(const char *path_or_url,
err = svn_ra_list(ra_session, "", loc->rev, patterns, depth,
dirent_fields, list_receiver, &receiver_baton, pool);
- if ( svn_error_find_cause(err, SVN_ERR_UNSUPPORTED_FEATURE)
- || svn_error_find_cause(err, SVN_ERR_RA_NOT_IMPLEMENTED))
+ if (svn_error_find_cause(err, SVN_ERR_UNSUPPORTED_FEATURE))
svn_error_clear(err);
else
return svn_error_trace(err);
Modified: subversion/trunk/subversion/libsvn_ra/ra_loader.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/ra_loader.c?rev=1768311&r1=1768310&r2=1768311&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/ra_loader.c (original)
+++ subversion/trunk/subversion/libsvn_ra/ra_loader.c Sun Nov 6 12:06:54 2016
@@ -658,7 +658,7 @@ svn_ra_list(svn_ra_session_t *session,
{
SVN_ERR_ASSERT(svn_relpath_is_canonical(path));
if (!session->vtable->list)
- return svn_error_create(SVN_ERR_RA_NOT_IMPLEMENTED, NULL, NULL);
+ return svn_error_create(SVN_ERR_UNSUPPORTED_FEATURE, NULL, NULL);
SVN_ERR(svn_ra__assert_capable_server(session, SVN_RA_CAPABILITY_LIST,
NULL, scratch_pool));