Slightly refactor the svn_client__checkout_internal() function so that all
parameter processing would happen in one place.

Before this change, this logic was scattered between svn_client_checkout4()
and svn_client__checkout_internal(), with an additional downside that the
internal function could only accept specific parameter combinations.

With this change, all processing happens in svn_client__checkout_internal(),
without any assertions on those parameter combinations.

* subversion/libsvn_client/client.h
  (svn_client__checkout_internal): Accept new `settings_from_context` parameter.
   Adjust docstring.

* subversion/libsvn_client/checkout.c
  (svn_client_checkout4): Move part of the parameter processing into …
  (svn_client__checkout_internal): …this function.

* subversion/libsvn_client/copy.c
  (svn_client__repos_to_wc_copy_dir):
   Adjust calling site of svn_client__checkout_internal().

* subversion/libsvn_client/externals.c
  (switch_dir_external): Adjust calling site of svn_client__checkout_internal().

* subversion/libsvn_client/shelf.c
  (shelf_copy_base): Adjust calling site of svn_client__checkout_internal().


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1907963 13f79535-47bb-0310-9956-ffa450edef68
5 files changed