On the 'reparentless' branch: Implement update editor commands (do_update,
do_switch, do_status, and do_diff) with repos_relpath as the target, instead of
session URL. 

* subversion/include/svn_ra.h
  (svn_ra_do_update4,
   svn_ra_do_switch4,
   svn_ra_do_status3,
   svn_ra_do_diff4): Bump functions, add repos_relpath, update description.
  (svn_ra_do_update3,
   svn_ra_do_switch3,
   svn_ra_do_status2,
   svn_ra_do_diff3): Deprecate.
* subversion/libsvn_ra/deprecated.c
  (svn_ra_do_update3,
   svn_ra_do_switch3,
   svn_ra_do_status2,
   svn_ra_do_diff3): Implement compat wrappers.
  (svn_ra_do_update2,
   svn_ra_do_switch2,
   svn_ra_do_status2): Wrap around v3's instead of calling vtable directly.
* subversion/libsvn_ra/ra_loader.c
  (svn_ra_do_update4,
   svn_ra_do_switch4,
   svn_ra_do_status3,
   svn_ra_do_diff4): Bump versions, add repos_relpath that is checked for
   validity and passed further into vtables.
* subversion/libsvn_ra/ra_loader.h
  (svn_ra__vtable_t::do_update4,
   svn_ra__vtable_t::do_switch4,
   svn_ra__vtable_t::do_status3,
   svn_ra__vtable_t::do_diff4): Add repos_relpath, reference newer version
   of svn_ra.h method.
* subversion/libsvn_ra_local/ra_plugin.c
  (make_reporter,
   svn_ra_local__do_update,
   svn_ra_local__do_switch,
   svn_ra_local__do_status,
   svn_ra_local__do_diff): Add repos_relpath argument.
* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__do_update,
   svn_ra_serf__do_switch,
   svn_ra_serf__do_status,
   svn_ra_serf__do_diff): Add repos_relpath argument to the declarations.
* subversion/libsvn_ra_serf/update.c
  (make_update_reporter): Resolve repos_relpath into path from server origin
   via svn_ra_serf__resolve_path().
  (svn_ra_serf__do_update,
   svn_ra_serf__do_switch,
   svn_ra_serf__do_status,
   svn_ra_serf__do_diff): Add repos_relpath and pass it by the callstack.
* subversion/libsvn_ra_svn/client.c
  (reparent_repos_relpath_exact): New function.
  (ra_svn_update,
   ra_svn_switch,
   ra_svn_status,
   ra_svn_diff): Add repos_relpath, use reparent_repos_relpath_exact() instead
   of ensure_exact_server_parent() to prepare the session.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/reparentless@1937886 13f79535-47bb-0310-9956-ffa450edef68
8 files changed