svn commit: r1898397 - in /subversion/trunk/subversion: include/svn_client.h libsvn_client/upgrade.c svn/cl.h svn/notify.c svn/upgrade-cmd.c

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 21:50:54 2022
New Revision: 1898397

URL: http://svn.apache.org/viewvc?rev=1898397=rev
Log:
Multi-WC-format, issue #4885: Remind the user they can upgrade further.

* subversion/include/svn_client.h,
  subversion/libsvn_client/upgrade.c
  (svn_client_default_wc_version): Fix doc string.
  (svn_client_latest_wc_version): New.

* subversion/svn/cl.h,
  subversion/svn/notify.c
  (notify_baton): Add a flag.
  (svn_cl__notifier_get_wc_was_upgraded): New.
  (notify_body): Set the flag when a wc was upgraded.

* subversion/svn/upgrade-cmd.c
  (svn_cl__upgrade): Remind the user when they can upgrade further.

Modified:
subversion/trunk/subversion/include/svn_client.h
subversion/trunk/subversion/libsvn_client/upgrade.c
subversion/trunk/subversion/svn/cl.h
subversion/trunk/subversion/svn/notify.c
subversion/trunk/subversion/svn/upgrade-cmd.c

Modified: subversion/trunk/subversion/include/svn_client.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1898397=1898396=1898397=diff
==
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Thu Feb 24 21:50:54 2022
@@ -4428,7 +4428,7 @@ svn_client_upgrade(const char *wcroot_di
apr_pool_t *scratch_pool);
 
 /**
- * Returns the version related to the library's default
+ * Returns the first version that supported the library's default
  * working copy metadata format.
  *
  * @since New in 1.15.
@@ -4437,6 +4437,15 @@ const svn_version_t *
 svn_client_default_wc_version(apr_pool_t *result_pool);
 
 /**
+ * Returns the first version that supported the library's latest
+ * working copy metadata format.
+ *
+ * @since New in 1.15.
+ */
+const svn_version_t *
+svn_client_latest_wc_version(apr_pool_t *result_pool);
+
+/**
  * Information about a WC version.
  *
  * Only the @c .major and @c .minor version fields are significant: so a

Modified: subversion/trunk/subversion/libsvn_client/upgrade.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/upgrade.c?rev=1898397=1898396=1898397=diff
==
--- subversion/trunk/subversion/libsvn_client/upgrade.c (original)
+++ subversion/trunk/subversion/libsvn_client/upgrade.c Thu Feb 24 21:50:54 2022
@@ -251,6 +251,15 @@ svn_client_default_wc_version(apr_pool_t
   return 
 }
 
+const svn_version_t *
+svn_client_latest_wc_version(apr_pool_t *result_pool)
+{
+  /* NOTE: For consistency, always return the version of the client
+ that first introduced the format. */
+  static const svn_version_t version = { 1, 15, 0, NULL };
+  return 
+}
+
 /* Helper for upgrade_externals_from_properties: upgrades one external ITEM
in EXTERNALS_PARENT. Uses SCRATCH_POOL for temporary allocations. */
 static svn_error_t *

Modified: subversion/trunk/subversion/svn/cl.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/cl.h?rev=1898397=1898396=1898397=diff
==
--- subversion/trunk/subversion/svn/cl.h (original)
+++ subversion/trunk/subversion/svn/cl.h Thu Feb 24 21:50:54 2022
@@ -733,6 +733,10 @@ svn_cl__check_externals_failed_notify_wr
 svn_error_t *
 svn_cl__notifier_print_conflict_stats(void *baton, apr_pool_t *scratch_pool);
 
+/* Get whether a WC upgrade notification was received. */
+svn_boolean_t
+svn_cl__notifier_get_wc_was_upgraded(void *baton);
+
 
 /*** Log message callback stuffs. ***/
 

Modified: subversion/trunk/subversion/svn/notify.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/notify.c?rev=1898397=1898396=1898397=diff
==
--- subversion/trunk/subversion/svn/notify.c (original)
+++ subversion/trunk/subversion/svn/notify.c Thu Feb 24 21:50:54 2022
@@ -57,6 +57,7 @@ struct notify_baton
   svn_revnum_t progress_revision;
   svn_boolean_t had_print_error; /* Used to not keep printing error messages
 when we've already had one print error. */
+  svn_boolean_t wc_was_upgraded;
 
   svn_cl__conflict_stats_t *conflict_stats;
 
@@ -284,6 +285,14 @@ svn_cl__notifier_print_conflict_stats(vo
   return SVN_NO_ERROR;
 }
 
+svn_boolean_t
+svn_cl__notifier_get_wc_was_upgraded(void *baton)
+{
+  struct notify_baton *nb = baton;
+
+  return nb->wc_was_upgraded;
+}
+
 /* The body for notify() function with standard error handling semantic.
  * Handling of errors implemented at caller side. */
 static svn_error_t *
@@ -1145,6 +1154,7 @@ notify_body(struct notify_baton *nb,
 
 case svn_wc_notify_upgraded_path:
   SVN_ERR(svn_cmdline_printf(pool, _("Upgraded '%s'\n"), path_local));
+  nb->wc_was_upgraded = TRUE;
   break;
 
 case svn_wc_notify_url_redirect:

Modified: 

svn commit: r1898389 - in /subversion/trunk/subversion: include/svn_client.h libsvn_client/upgrade.c svn/info-cmd.c svn/svn.c

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 20:06:32 2022
New Revision: 1898389

URL: http://svn.apache.org/viewvc?rev=1898389=rev
Log:
Multi-WC-format, issue #4884: add svn info --show-item=wc-compatible-version.

* subversion/include/svn_client.h,
  subversion/libsvn_client/upgrade.c
  (svn_client__wc_version_from_format): New.

* subversion/svn/info-cmd.c
  (info_item_t, info_item_map): Add the new option.
  (print_info_item): Obey the new option.

* subversion/svn/svn.c
  (svn_cl__cmd_table_main): Add the corresponding help text.

Modified:
subversion/trunk/subversion/include/svn_client.h
subversion/trunk/subversion/libsvn_client/upgrade.c
subversion/trunk/subversion/svn/info-cmd.c
subversion/trunk/subversion/svn/svn.c

Modified: subversion/trunk/subversion/include/svn_client.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1898389=1898388=1898389=diff
==
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Thu Feb 24 20:06:32 2022
@@ -4451,6 +4451,14 @@ typedef struct svn_client_wc_format_t {
 int wc_format;
 } svn_client_wc_format_t;
 
+/** Return the version of the Subversion library that first supported
+ * the given WC format, @a wc_format.
+ */
+const svn_version_t *
+svn_client__wc_version_from_format(int wc_format,
+   apr_pool_t *result_pool,
+   apr_pool_t *scratch_pool);
+
 /**
  * Returns a list of the WC formats supported by the client library.
  *

Modified: subversion/trunk/subversion/libsvn_client/upgrade.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/upgrade.c?rev=1898389=1898388=1898389=diff
==
--- subversion/trunk/subversion/libsvn_client/upgrade.c (original)
+++ subversion/trunk/subversion/libsvn_client/upgrade.c Thu Feb 24 20:06:32 2022
@@ -200,6 +200,34 @@ svn_client_upgrade2(const char *path,
   return SVN_NO_ERROR;
 }
 
+const svn_version_t *
+svn_client__wc_version_from_format(int wc_format,
+   apr_pool_t *result_pool,
+   apr_pool_t *scratch_pool)
+{
+  static const svn_version_t
+version_1_0  = { 1, 0, 0, NULL },
+version_1_4  = { 1, 4, 0, NULL },
+version_1_5  = { 1, 5, 0, NULL },
+version_1_6  = { 1, 6, 0, NULL },
+version_1_7  = { 1, 7, 0, NULL },
+version_1_8  = { 1, 8, 0, NULL },
+version_1_15 = { 1, 15, 0, NULL };
+
+  switch (wc_format)
+{
+  case  4: return _1_0;
+  case  8: return _1_4;
+  case  9: return _1_5;
+  case 10: return _1_6;
+  case SVN_WC__WC_NG_VERSION: return _1_7;
+  case 29: return _1_7;
+  case 31: return _1_8;
+  case 32: return _1_15;
+}
+  return NULL;
+}
+
 const svn_client_wc_format_t *
 svn_client_supported_wc_formats(apr_pool_t *result_pool,
 apr_pool_t *scratch_pool)

Modified: subversion/trunk/subversion/svn/info-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/info-cmd.c?rev=1898389=1898388=1898389=diff
==
--- subversion/trunk/subversion/svn/info-cmd.c (original)
+++ subversion/trunk/subversion/svn/info-cmd.c Thu Feb 24 20:06:32 2022
@@ -40,6 +40,7 @@
 #include "svn_dirent_uri.h"
 #include "svn_path.h"
 #include "svn_time.h"
+#include "svn_version.h"
 #include "svn_xml.h"
 #include "cl.h"
 
@@ -369,7 +370,8 @@ typedef enum
   info_item_schedule,
   info_item_depth,
   info_item_changelist,
-  info_item_wc_format
+  info_item_wc_format,
+  info_item_wc_compatible_version
 } info_item_t;
 
 /* Mapping between option keywords and info_item_t. */
@@ -397,6 +399,8 @@ static const info_item_map_t info_item_m
 { SVN__STATIC_STRING("depth"),   info_item_depth },
 { SVN__STATIC_STRING("changelist"),  info_item_changelist },
 { SVN__STATIC_STRING("wc-format"),   info_item_wc_format },
+{ SVN__STATIC_STRING("wc-compatible-version"),
+ 
info_item_wc_compatible_version },
   };
 
 static const apr_size_t info_item_map_len =
@@ -1247,6 +1251,18 @@ print_info_item(void *baton,
   target_path, pool));
   break;
 
+case info_item_wc_compatible_version:
+  {
+const svn_version_t *wc_ver
+  = svn_client__wc_version_from_format(info->wc_info->wc_format,
+   pool, pool);
+const char *s = apr_psprintf(pool, "%d.%d",
+ wc_ver->major,
+ wc_ver->minor);
+SVN_ERR(print_info_item_string(s, target_path, pool));
+  }
+  break;
+
 case info_item_changelist:

svn commit: r1898388 - /subversion/trunk/subversion/svn/svn.c

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 19:50:50 2022
New Revision: 1898388

URL: http://svn.apache.org/viewvc?rev=1898388=rev
Log:
Multi-WC-format, issue #4884: remove svn info --show-item=wc-format-min/max.

A follow-up to r1898380.

* subversion/svn/svn.c
  (svn_cl__cmd_table_main): Remove the corresponding help text.

Modified:
subversion/trunk/subversion/svn/svn.c

Modified: subversion/trunk/subversion/svn/svn.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/svn.c?rev=1898388=1898387=1898388=diff
==
--- subversion/trunk/subversion/svn/svn.c (original)
+++ subversion/trunk/subversion/svn/svn.c Thu Feb 24 19:50:50 2022
@@ -790,10 +790,6 @@ svn_cl__cmd_table_main[] =
 " "
 "   'wc-format'  TARGET's working copy format\n"
 " "
-"   'wc-format-min'   oldest supported WC format\n"
-" "
-"   'wc-format-min'   newest supported WC format\n"
-" "
 "   'changelist' changelist of TARGET in WC")}},
   },
 




svn commit: r1898380 - in /subversion/trunk/subversion: include/svn_wc.h libsvn_wc/info.c svn/info-cmd.c

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 16:41:04 2022
New Revision: 1898380

URL: http://svn.apache.org/viewvc?rev=1898380=rev
Log:
Multi-WC-format, issue #4884: remove svn info --show-item=wc-format-min/max.

These two items were showing properties of the software, whereas 'svn info'
is intended to show properties of the working copy and versioned nodes.

(The output of 'svn --version' shows the supported WC versions.)

* subversion/include/svn_wc.h,
  subversion/libsvn_wc/info.c
  (svn_wc_info_t,
   build_info_for_node): Remove wc-format-min and wc-format-max options.

* subversion/svn/info-cmd.c
  (info_item_t,
   info_item_map,
   print_info_item): Remove wc-format-min and wc-format-max options.

Modified:
subversion/trunk/subversion/include/svn_wc.h
subversion/trunk/subversion/libsvn_wc/info.c
subversion/trunk/subversion/svn/info-cmd.c

Modified: subversion/trunk/subversion/include/svn_wc.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_wc.h?rev=1898380=1898379=1898380=diff
==
--- subversion/trunk/subversion/include/svn_wc.h (original)
+++ subversion/trunk/subversion/include/svn_wc.h Thu Feb 24 16:41:04 2022
@@ -3298,18 +3298,6 @@ typedef struct svn_wc_info_t
* @since New in 1.15.
*/
   int wc_format;
-
-  /**
-   * The oldest supported working copy format, #SVN_WC__SUPPORTED_VERSION.
-   * @since New in 1.15.
-   */
-  int wc_format_min;
-
-  /**
-   * The newest supported working copy format, #SVN_WC__VERSION.
-   * @since New in 1.15.
-   */
-  int wc_format_max;
 } svn_wc_info_t;
 
 /**

Modified: subversion/trunk/subversion/libsvn_wc/info.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/info.c?rev=1898380=1898379=1898380=diff
==
--- subversion/trunk/subversion/libsvn_wc/info.c (original)
+++ subversion/trunk/subversion/libsvn_wc/info.c Thu Feb 24 16:41:04 2022
@@ -105,8 +105,6 @@ build_info_for_node(svn_wc__info2_t **in
   tmpinfo->wc_info = wc_info;
 
   wc_info->copyfrom_rev = SVN_INVALID_REVNUM;
-  wc_info->wc_format_min = SVN_WC__SUPPORTED_VERSION;
-  wc_info->wc_format_max = SVN_WC__VERSION;
 
   SVN_ERR(svn_wc__db_get_format(_info->wc_format,
 db, local_abspath, scratch_pool));

Modified: subversion/trunk/subversion/svn/info-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/info-cmd.c?rev=1898380=1898379=1898380=diff
==
--- subversion/trunk/subversion/svn/info-cmd.c (original)
+++ subversion/trunk/subversion/svn/info-cmd.c Thu Feb 24 16:41:04 2022
@@ -369,9 +369,7 @@ typedef enum
   info_item_schedule,
   info_item_depth,
   info_item_changelist,
-  info_item_wc_format,
-  info_item_wc_format_min,
-  info_item_wc_format_max
+  info_item_wc_format
 } info_item_t;
 
 /* Mapping between option keywords and info_item_t. */
@@ -399,8 +397,6 @@ static const info_item_map_t info_item_m
 { SVN__STATIC_STRING("depth"),   info_item_depth },
 { SVN__STATIC_STRING("changelist"),  info_item_changelist },
 { SVN__STATIC_STRING("wc-format"),   info_item_wc_format },
-{ SVN__STATIC_STRING("wc-format-min"),   info_item_wc_format_min },
-{ SVN__STATIC_STRING("wc-format-max"),   info_item_wc_format_max },
   };
 
 static const apr_size_t info_item_map_len =
@@ -1251,18 +1247,6 @@ print_info_item(void *baton,
   target_path, pool));
   break;
 
-case info_item_wc_format_min:
-  SVN_ERR(print_info_item_int((info->wc_info
-   ? info->wc_info->wc_format_min : -1),
-  target_path, pool));
-  break;
-
-case info_item_wc_format_max:
-  SVN_ERR(print_info_item_int((info->wc_info
-   ? info->wc_info->wc_format_max : -1),
-  target_path, pool));
-  break;
-
 case info_item_changelist:
   SVN_ERR(print_info_item_string(
   ((info->wc_info && info->wc_info->changelist)




svn commit: r1898379 - in /subversion/branches/pristines-on-demand-on-mwf: ./ subversion/include/ subversion/libsvn_client/ subversion/libsvn_wc/ subversion/svn/ subversion/tests/cmdline/ subversion/t

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 16:19:04 2022
New Revision: 1898379

URL: http://svn.apache.org/viewvc?rev=1898379=rev
Log:
On the 'pristines-on-demand-on-mwf' branch: sync with trunk@1898378.

Modified:
subversion/branches/pristines-on-demand-on-mwf/   (props changed)

subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h

subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/checkout.c

subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/upgrade.c

subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc-metadata.sql
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc.h
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/help-cmd.c
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/svn.c

subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/davautocheck.sh

subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout

subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout

Propchange: subversion/branches/pristines-on-demand-on-mwf/
--
  Merged /subversion/trunk:r1898192-1898378

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h?rev=1898379=1898378=1898379=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h 
(original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h 
Thu Feb 24 16:19:04 2022
@@ -1243,8 +1243,8 @@ svn_client_args_to_target_array(apr_arra
  * @param[in] wc_format_version is the version number of the Subversion
  *  client that supports the metadata format of the
  *  created working copy; @c NULL means the library's default
- *  format. The earliest supported version is returned by
- *  svn_client_supported_wc_version().
+ *  format. See svn_client_default_wc_version(),
+ *  svn_client_supported_wc_formats().
  * @param[in] ctx   The standard client context, used for authentication and
  *  notification.
  * @param[in] pool  Used for any temporary allocation.
@@ -4401,8 +4401,8 @@ svn_client_cleanup(const char *dir,
  *
  * @a wc_format_version is the version number of the Subversion client
  * that supports a given WC metadata format; @c NULL means the library's
- * default format. The earliest supported version is returned by
- * svn_client_supported_wc_version().
+ * default format. See svn_client_default_wc_version(),
+ * svn_client_supported_wc_formats().
  *
  * Use @a scratch_pool for any temporary allocations.
  *
@@ -4428,13 +4428,40 @@ svn_client_upgrade(const char *wcroot_di
apr_pool_t *scratch_pool);
 
 /**
- * Returns the version related to the earliest supported
+ * Returns the version related to the library's default
  * working copy metadata format.
  *
  * @since New in 1.15.
  */
 const svn_version_t *
-svn_client_supported_wc_version(void);
+svn_client_default_wc_version(apr_pool_t *result_pool);
+
+/**
+ * Information about a WC version.
+ *
+ * Only the @c .major and @c .minor version fields are significant: so a
+ * version_max value of 1.15.0 for example means "up to 1.15.x".
+ */
+typedef struct svn_client_wc_format_t {
+/* Oldest version of svn libraries known to support this WC version */
+const svn_version_t *version_min;
+/* Newest version of svn libraries known to support this WC version. */
+const svn_version_t *version_max;
+/* The WC format number of this format, as defined by libsvn_wc. */
+int wc_format;
+} svn_client_wc_format_t;
+
+/**
+ * Returns a list of the WC formats supported by the client library.
+ *
+ * The list is sorted from oldest to newest, and terminated by an entry
+ * containing all null/zero fields.
+ *
+ * The returned data are allocated in @a result_pool and/or statically.
+ */
+const svn_client_wc_format_t *
+svn_client_supported_wc_formats(apr_pool_t *result_pool,
+apr_pool_t *scratch_pool);
 
 /** @} */
 

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/checkout.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/checkout.c?rev=1898379=1898378=1898379=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/checkout.c
 (original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/checkout.c
 

svn commit: r1898378 - in /subversion/trunk/subversion: include/ libsvn_client/ libsvn_wc/ svn/ tests/cmdline/getopt_tests_data/

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 15:58:10 2022
New Revision: 1898378

URL: http://svn.apache.org/viewvc?rev=1898378=rev
Log:
Multi-WC-format: Clarify the supported versions display.

This patch:

  - Changes the APIs for querying the default WC format and the supported WC
formats;
  - clarifies the display of supported WC formats in 'svn --version'.

API changes:

  - Remove svn_client_supported_wc_version().
  - Add svn_client_default_wc_version().
  - Add svn_client_supported_wc_formats() and a type it returns.

CLI changes:

  Old display in 'svn --version':

  | Supported working copy (WC) versions: from 1.8 to 1.15

  New display in 'svn --version':

  | Supported working copy (WC) versions:
  |
  | * compatible with Subversion v1.8 to v1.15 (WC format 31)
  | * compatible with Subversion v1.15 (WC format 32)

The list style, along with inclusion of the WC format number, helps show
that each line describes a distinct format. Users sometimes also need to
know about WC format numbers, and the 'version' command is an appropriate
place to show these. The presentation style matches that used for the lists
of RA modules and credential caches.

* subversion/include/svn_client.h,
  subversion/libsvn_client/upgrade.c
  (svn_client_checkout4,
   svn_client_upgrade2): Update doc string.
  (svn_client_supported_wc_version): Remove.
  (svn_client_default_wc_version,
   svn_client_wc_format_t,
   svn_client_supported_wc_formats): New.

* subversion/libsvn_client/checkout.c
  (svn_client_checkout4): Update caller: use svn_client_default_wc_version().

* subversion/libsvn_wc/wc.h
  (SVN_WC__SUPPORTED_VERSION): Update doc string.

* subversion/svn/help-cmd.c
  (print_supported_wc_formats): New.
  (svn_cl__help): Use it to display supported WC formats as a list.

* subversion/svn/svn.c
  (parse_compatible_version): Update caller: use
svn_client_supported_wc_formats().

* subversion/tests/cmdline/getopt_tests_data/svn--version_stdout,
  subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
Update expected output.

Modified:
subversion/trunk/subversion/include/svn_client.h
subversion/trunk/subversion/libsvn_client/checkout.c
subversion/trunk/subversion/libsvn_client/upgrade.c
subversion/trunk/subversion/libsvn_wc/wc.h
subversion/trunk/subversion/svn/help-cmd.c
subversion/trunk/subversion/svn/svn.c

subversion/trunk/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout

subversion/trunk/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout

Modified: subversion/trunk/subversion/include/svn_client.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1898378=1898377=1898378=diff
==
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Thu Feb 24 15:58:10 2022
@@ -1243,8 +1243,8 @@ svn_client_args_to_target_array(apr_arra
  * @param[in] wc_format_version is the version number of the Subversion
  *  client that supports the metadata format of the
  *  created working copy; @c NULL means the library's default
- *  format. The earliest supported version is returned by
- *  svn_client_supported_wc_version().
+ *  format. See svn_client_default_wc_version(),
+ *  svn_client_supported_wc_formats().
  * @param[in] ctx   The standard client context, used for authentication and
  *  notification.
  * @param[in] pool  Used for any temporary allocation.
@@ -4401,8 +4401,8 @@ svn_client_cleanup(const char *dir,
  *
  * @a wc_format_version is the version number of the Subversion client
  * that supports a given WC metadata format; @c NULL means the library's
- * default format. The earliest supported version is returned by
- * svn_client_supported_wc_version().
+ * default format. See svn_client_default_wc_version(),
+ * svn_client_supported_wc_formats().
  *
  * Use @a scratch_pool for any temporary allocations.
  *
@@ -4428,13 +4428,40 @@ svn_client_upgrade(const char *wcroot_di
apr_pool_t *scratch_pool);
 
 /**
- * Returns the version related to the earliest supported
+ * Returns the version related to the library's default
  * working copy metadata format.
  *
  * @since New in 1.15.
  */
 const svn_version_t *
-svn_client_supported_wc_version(void);
+svn_client_default_wc_version(apr_pool_t *result_pool);
+
+/**
+ * Information about a WC version.
+ *
+ * Only the @c .major and @c .minor version fields are significant: so a
+ * version_max value of 1.15.0 for example means "up to 1.15.x".
+ */
+typedef struct svn_client_wc_format_t {
+/* Oldest version of svn libraries known to support this WC version */
+const svn_version_t *version_min;
+/* Newest version of svn libraries known to support this WC version. */
+const svn_version_t *version_max;
+

svn commit: r1898365 - /subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 11:35:44 2022
New Revision: 1898365

URL: http://svn.apache.org/viewvc?rev=1898365=rev
Log:
* subversion/libsvn_wc/wc-metadata.sql
  Add a cross-reference to other places we need to update.

Suggested by: danielsh

Modified:
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1898365=1898364=1898365=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Thu Feb 24 11:35:44 
2022
@@ -716,6 +716,14 @@ PRAGMA user_version = 32;
 
 
 /* - */
+/* When bumping the format, also update:
+ *
+ *   * subversion/tests/libsvn_wc/wc-queries-test.c
+ * (schema_statements, create_memory_db)
+ */
+
+
+/* - */
 
 /* Format 99 drops all columns not needed due to previous format upgrades.
Before we release 1.7, these statements will be pulled into a format bump




svn commit: r1898364 - /subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

2022-02-24 Thread julianfoad
Author: julianfoad
Date: Thu Feb 24 11:06:31 2022
New Revision: 1898364

URL: http://svn.apache.org/viewvc?rev=1898364=rev
Log:
* subversion/libsvn_wc/wc-metadata.sql
  (STMT_UPGRADE_TO_32): Fill in the doc string.

Suggested by: danielsh

Modified:
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1898364=1898363=1898364=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Thu Feb 24 11:06:31 
2022
@@ -708,7 +708,9 @@ WHERE l.op_depth = 0
 
 
 /* - */
-/* Format 32   */
+/* Format 32 is identical to format 31.
+   Its purpose is as a place-holder in developing and testing the
+   multi-wc-format support feature. */
 -- STMT_UPGRADE_TO_32
 PRAGMA user_version = 32;