Checkout
stefan2
committed
on 30 Oct 16
Add a RA-level function for svn_repos_list and use that to implement
svn_client_list, if the server should support the new API.

Right now, … Show more
Add a RA-level function for svn_repos_list and use that to implement

svn_client_list, if the server should support the new API.

Right now, no RA layer actually implements the new API; this will be

done in follow-up commits.

* subversion/include/svn_ra.h

 (svn_ra_dirent_receiver_t,

  svn_ra_list):  Declare the new interface.

 (SVN_RA_CAPABILITY_LIST): Declare a new server capability.

* subversion/libsvn_ra/ra_loader.h

 (svn_ra__vtable_t): Add LIST function.

* subversion/libsvn_ra/ra_loader.c

 (svn_ra_list): Implement the new API and check for its availability.

* subversion/libsvn_client/list.c

 (receiver_baton_t,

  list_receiver): RA-layer-compatible wrapper around the client callback.

 (list_internal): If we don't have to fetch any properties, use the new

                  RA-layer API, if available.  Explicitly checking the

                  existance of the base path is only needed if we use

                  the client-side code.

* subversion/libsvn_ra_local/ra_plugin.c

 (ra_local_vtable): Update vtable.

* subversion/libsvn_ra_serf/serf.c

 (serf_vtable): Same.

* subversion/libsvn_ra_svn/client.c

 (ra_svn_vtable): Same.

Show less