tree a872e3ba4dae799b56608e8699c5636c445c7096
parent 0f0beb94f0fe8d7032fa945cf94bd5fa31d5c6e1
author Evgeny Kotkov <kotkov@apache.org> 1677755388 +0000
committer Evgeny Kotkov <kotkov@apache.org> 1677755388 +0000

Add a new `compatible-version` config option.

This option sets the default working copy format version, allowing users to
configure the default wc compatibility level globally.  Newly created and
upgraded working copies will by default be compatible with the specified
Subversion version.

In the test suite, use the new config option for the customized runs with the
--wc-format-version argument, instead of manually inserting the corresponding
--compatible-version argument during `svn checkout` and `svn upgrade` calls.

* subversion/include/svn_config.h
  (SVN_CONFIG_OPTION_COMPATIBLE_VERSION): New.

* subversion/libsvn_subr/config_file.c
  (svn_config_ensure): Add new config option.

* subversion/include/svn_client.h
  (svn_client_default_wc_version): Now accepts an svn_client_ctx_t.
  (svn_client_checkout4,
   svn_client_checkout3,
   svn_client_upgrade2,
   svn_client_upgrade): Tweak the docstrings so that they would lead to
   the svn_client_default_wc_version(), as opposed to providing a custom
   description of the same concept.

* subversion/libsvn_client/upgrade.c
  (): Include svn_hash.h and svn_subr_private.h.
  (svn_client_default_wc_version): Check if we have a specific version in
   the config or use the default.
  (svn_client_upgrade2): Call svn_client_default_wc_version().

* subversion/libsvn_client/checkout.c
  (svn_client__checkout_internal):
   Adjust calling site of svn_client_default_wc_version().

* subversion/svn/upgrade-cmd.c
  (svn_cl__upgrade): Adjust calling site of svn_client_default_wc_version().

* subversion/tests/cmdline/svntest/main.py
  (create_config_dir): Accept the wc_format_version and translate it into
   an appropriate config value.
  (execute_tests): Adjust call to create_config_dir().
  (_with_wc_format_version): Remove.
  (run_svn): Don't use the _with_wc_format_version() function.

* subversion/tests/cmdline/checkout_tests.py
  (checkout_compatible_version_arg,
   checkout_compatible_version_config): New tests.
  (test_list): Run new tests.

* subversion/tests/cmdline/upgrade_tests.py
  (upgrade_compatible_version_arg,
   upgrade_compatible_version_config): New tests.
  (test_list): Run new tests.


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