You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2018/01/18 15:36:09 UTC

svn commit: r1821509 - in /subversion/branches/shelve-checkpoint: ./ subversion/bindings/javahl/native/ subversion/bindings/swig/python/libsvn_swig_py/ subversion/include/ subversion/include/private/ subversion/libsvn_subr/ subversion/mod_dav_svn/ subv...

Author: julianfoad
Date: Thu Jan 18 15:36:08 2018
New Revision: 1821509

URL: http://svn.apache.org/viewvc?rev=1821509&view=rev
Log:
On the 'shelve-checkpoint' branch: Catch up to trunk@1821508.

Modified:
    subversion/branches/shelve-checkpoint/   (props changed)
    subversion/branches/shelve-checkpoint/CHANGES
    subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/Prompter.cpp
    subversion/branches/shelve-checkpoint/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
    subversion/branches/shelve-checkpoint/subversion/include/private/svn_cmdline_private.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_base64.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_client.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_io.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_ra.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_ra_svn.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_string.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_xml.h
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/cmdline.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/io.c
    subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/dav_svn.h
    subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/mod_dav_svn.c
    subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/version.c
    subversion/branches/shelve-checkpoint/subversion/svn/svn.c
    subversion/branches/shelve-checkpoint/subversion/svnbench/svnbench.c
    subversion/branches/shelve-checkpoint/subversion/svnmucc/svnmucc.c
    subversion/branches/shelve-checkpoint/subversion/svnrdump/svnrdump.c
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/davautocheck.sh
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout
    subversion/branches/shelve-checkpoint/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c
    subversion/branches/shelve-checkpoint/tools/client-side/svnconflict/svnconflict.c
    subversion/branches/shelve-checkpoint/tools/dev/svnmover/svnmover.c
    subversion/branches/shelve-checkpoint/tools/dev/unix-build/Makefile.svn
    subversion/branches/shelve-checkpoint/tools/dev/unix-build/README
    subversion/branches/shelve-checkpoint/tools/examples/ExampleAuthn.java

Propchange: subversion/branches/shelve-checkpoint/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 18 15:36:08 2018
@@ -98,4 +98,4 @@
 /subversion/branches/verify-at-commit:1462039-1462408
 /subversion/branches/verify-keep-going:1439280-1546110
 /subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1801593-1820047
+/subversion/trunk:1801593-1821508

Modified: subversion/branches/shelve-checkpoint/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/CHANGES?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/CHANGES (original)
+++ subversion/branches/shelve-checkpoint/CHANGES Thu Jan 18 15:36:08 2018
@@ -13,28 +13,22 @@ the 1.9 release:  https://subversion.apa
  User-visible changes:
   - Major new features:
     * Better interactive conflict resolution for tree conflicts (r1687489 et al)
-    * New and improved implementation of path-based authorization (r1776832)
-    * New experimental 'svn shelve' command (r1815228 et al)
+    * Wilcards and improved performance in path-based authorization (r1776832)
+    * New experimental 'svn shelve' command (issue #3625)
   - Minor new features and improvements:
-    * svnbench: Show wall-clock time when done (r1703383)
-    * svnbench: Show number of bytes transferred across the network (r1710586)
-    * svnbench: Actually evaluate the '--with-no-revprops' option (r1709593)
-    * New 'svnadmin dump' options to include/exclude paths (r1811992)
-    * New 'svnadmin load' options to include/exclude paths (r1811992 et al)
-    * New '--normalize-props` option for 'svnadmin dump'(r1807836 et al)
-    * New 'svnadmin load-revprops' subcommand (r1694191)
-    * New 'svnadmin dump-revprops' subcommand (r1694225)
+    * svnbench: Show time taken & bytes transferred (r1703383, r1710586)
+    * New 'svnadmin dump' options to include/exclude paths (r1811992 et al)
+    * New '--normalize-props' option for 'svnadmin dump' (r1807836 et al)
+    * New 'svnadmin 'load-revprops', 'dump-revprops' subcommands (r1694191, -225)
     * New '--no-flush-to-disk' option for 'svnadmin load' (r1736357, -7357)
     * New '--file' option for several svnadmin subcommands (r1738021)
-    * New '--max-request-size' option for svnserve (r1714330)
-    * New '--max-response-size' option for svnserve (r1714333)
+    * New '--max-request-size', '--max-response-size' options for svnserve (r1714330, -333)
     * New '-rN' option for 'svnadmin lstxns' (r1703699)
     * New '--search' option for fast 'svn ls' searches (r1767186 et al)
     * Add '--search' option support to 'svnbench null-list' (r1767202)
     * New '-M' option for 'svnlook tree' (r1708222)
     * New '--skip-unchanged' option for 'svnsync copy-revprops' (r1692655)
-    * 'svn log --search' is now case-insensitive (r1731300)
-    * 'svn log --search' now ignores diacriticals when matching words (r1735614)
+    * 'svn log --search' now ignores case and diacriticals (r1731300, r1735614)
     * Improved performance of server-side log processing (r1732768, r1731656)
     * diff3: Reduce processing time and memory usage (r1731659)
     * ra_serf: Adjustments for serf versions with HTTP/2 support (r1716400)
@@ -70,7 +64,7 @@ the 1.9 release:  https://subversion.apa
     * FSFS: New "verify-before-commit" fsfs.conf option (r1795351)
     * FSFS: New format 8 with various performance improvements (r1801940 et al)
     * FSFS/FSX: Chunked read support for changed paths lists (r1746026, -4987)
-    * FSFS/FSX: Several improvements made to cache implementation (r1694489)
+    * FSFS/FSX: Improvements to cache implementation (r1694489)
     * FSX: Add checksums to packed revprop manifests and files (r1713132, -9717)
     * FSX: Significantly reduce size of packed revprop manifest data (r1713109)
     * FSX: Improved on-disk representation of property lists (r1717427)
@@ -107,6 +101,7 @@ the 1.9 release:  https://subversion.apa
     * Speed up processing of mergeinfo (r1802470 et al)
     * Check for invalid 'xt' fields in x509 certs (r1809290)
   - Client-side bugfixes:
+    * svnbench: Honour the '--with-no-revprops' option (r1709593)
     * ra_serf: Fix segfault when running over HTTP v1 (r1766089)
     * ra_serf: Keep small svndiffs in memory during commit (r1724455)
     * ra_serf: Improve error messages related to lock operations (r1716450)
@@ -199,16 +194,14 @@ the 1.9 release:  https://subversion.apa
     * Fix segfault on x509 certificate with empty name (r1798157)
     * Fix segfault with invalid URLs in svn:externals (r1803471)
     * Windows: Failure to write files might remain undetected (r1806014)
-- Other tool improvements and bugfixes:
+  - Other tool improvements and bugfixes:
     * New svn-mergeinfo-normalizer tool (r1695992 et al)
     * Allow configuring mailer.py to use SMTP SSL (r1777846)
     * svnmucc can now delete directories with deleted children (issue #4666)
     * svn-vendor.py: Minor enhancements, mostly in treating symlinks (r1732669)
-    * bash_completion: Implement much better URL completion (r1701494)
+    * bash_completion: Better URL completion (r1701494)
     * bash_completion: Complete arguments to 'svn info --show-item' (r1698276)
-    * bash_completion: Add 1.10 options (r1802196)
-    * fsfs-stats: Following rename to svnfsfs in r1594860, install a wrapper
-      for compatibility (r1802032)
+    * fsfs-stats: New 1.8-compatible wrapper for 'svnfsfs stats' (r1802032)
     * Drop support for upgrading working copies created with Subversion 1.7
       (r1807584 et al)
 

Modified: subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/Prompter.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/Prompter.cpp?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/Prompter.cpp (original)
+++ subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/Prompter.cpp Thu Jan 18 15:36:08 2018
@@ -342,8 +342,7 @@ svn_error_t *Prompter::dispatch_ssl_serv
   svn_auth_cred_ssl_server_trust_t *cred =
     static_cast<svn_auth_cred_ssl_server_trust_t*>(apr_pcalloc(pool, sizeof(*cred)));
   cred->may_save = save;
-  if (save)
-    cred->accepted_failures = failures;
+  cred->accepted_failures = failures;
   *cred_p = cred;
 
   return SVN_NO_ERROR;

Modified: subversion/branches/shelve-checkpoint/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Thu Jan 18 15:36:08 2018
@@ -2578,8 +2578,7 @@ svn_swig_py_make_stream(PyObject *py_io,
   svn_stream_t *stream;
 
   stream = svn_stream_create(py_io, pool);
-  svn_stream_set_read2(stream, NULL /* only full read support */,
-                       read_handler_pyio);
+  svn_stream_set_read2(stream, read_handler_pyio, NULL);
   svn_stream_set_write(stream, write_handler_pyio);
   svn_stream_set_close(stream, close_handler_pyio);
   apr_pool_cleanup_register(pool, py_io, svn_swig_py_stream_destroy,

Modified: subversion/branches/shelve-checkpoint/subversion/include/private/svn_cmdline_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/private/svn_cmdline_private.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/private/svn_cmdline_private.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/private/svn_cmdline_private.h Thu Jan 18 15:36:08 2018
@@ -269,6 +269,15 @@ svn_cmdline__disable_cancellation_handle
 void
 svn_cmdline__cancellation_exit(void);
 
+/** Reads a string from stdin until a newline or EOF is found
+ *
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_cmdline__stdin_readline(const char **result,
+                            apr_pool_t *result_pool,
+                            apr_pool_t *scratch_pool);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_base64.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_base64.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_base64.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_base64.h Thu Jan 18 15:36:08 2018
@@ -51,6 +51,8 @@ extern "C" {
  * stream will only consist of base64 encoding characters. Be sure to close
  * the stream when done writing in order to squeeze out the last bit of
  * encoded data.  The stream is allocated in @a pool.
+ *
+ * @since New in 1.10.
  */
 svn_stream_t *
 svn_base64_encode2(svn_stream_t *output,

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_client.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_client.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_client.h Thu Jan 18 15:36:08 2018
@@ -4376,7 +4376,7 @@ typedef struct svn_client_conflict_t svn
 typedef struct svn_client_conflict_option_t svn_client_conflict_option_t;
 
 /**
- * A public enumuneration of conflict option IDs.
+ * A public enumeration of conflict option IDs.
  *
  * @since New in 1.10, unless noted otherwise.
  */
@@ -6506,7 +6506,7 @@ svn_client_list4(const char *path_or_url
                  svn_client_ctx_t *ctx,
                  apr_pool_t *scratch_pool);
 
-/** Similar to svn_client_list4(), but with @a patterm set to @c NULL.
+/** Similar to svn_client_list4(), but with @a patterns set to @c NULL.
  *
  * @since New in 1.8.
  *

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_io.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_io.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_io.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_io.h Thu Jan 18 15:36:08 2018
@@ -2410,10 +2410,12 @@ svn_io_write_atomic2(const char *final_p
                      apr_pool_t *scratch_pool);
 
 /** Similar to svn_io_write_atomic2(), but with @a flush_to_disk set
-* to @c TRUE.
-*
-* @deprecated Provided for backward compatibility with the 1.9 API
-*/
+ * to @c TRUE.
+ *
+ * @since New in 1.9.
+ *
+ * @deprecated Provided for backward compatibility with the 1.9 API
+ */
 SVN_DEPRECATED
 svn_error_t *
 svn_io_write_atomic(const char *final_path,
@@ -2633,15 +2635,6 @@ svn_io_file_readline(apr_file_t *file,
                      apr_pool_t *result_pool,
                      apr_pool_t *scratch_pool);
 
-/** Reads a string from stdin until a newline or EOF is found
- *
- * @since New in 1.10.
- */
-svn_error_t *
-svn_io_stdin_readline(const char **result,
-                      apr_pool_t *result_pool,
-                      apr_pool_t *scratch_pool);
-
 /** @} */
 
 #ifdef __cplusplus

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_ra.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_ra.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_ra.h Thu Jan 18 15:36:08 2018
@@ -1130,13 +1130,12 @@ svn_ra_get_dir(svn_ra_session_t *session
                apr_pool_t *pool);
 
 /**
- * Callback type to be used with @a svn_ra_list.  It will be invoked for
+ * Callback type to be used with svn_ra_list().  It will be invoked for
  * every directory entry found.
  *
  * The full path of the entry is given in @a rel_path and @a dirent contains
- * various additional information.  If @a svn_repos_list has been called
- * with @c path_info_only set, only the @c kind element of this struct
- * will be valid.
+ * various additional information. Only the elements of @a dirent specified
+ * by the @a dirent_fields argument to svn_ra_list() will be valid.
  *
  * @a baton is the user-provided receiver baton.  @a scratch_pool may be
  * used for temporary allocations.
@@ -1155,21 +1154,21 @@ typedef svn_error_t *(* svn_ra_dirent_re
  * In @a session, walk the sub-tree starting at @a path at @a revision down
  * to the given @a depth.  For each directory entry found, @a receiver will
  * be called with @a receiver_baton.  The starting @a path will be reported
- * as well.  Because retrieving elements of a @c svn_dirent_t can be
+ * as well.  Because retrieving elements of a #svn_dirent_t can be
  * expensive, you need to select them individually via flags set in
  * @a dirent_fields.
  *
  * @a patterns is an optional array of <tt>const char *</tt>.  If it is
  * not @c NULL, only those directory entries will be reported whose last
  * path segment matches at least one of these patterns.  This feature uses
- * @c apr_fnmatch for glob matching and requiring '.' to matched by dots
+ * apr_fnmatch() for glob matching and requiring '.' to matched by dots
  * in the path.
  *
  * @a path must point to a directory and @a depth must be at least
- * @c svn_depth_empty.
+ * #svn_depth_empty.
  *
  * If the server doesn't support the 'list' command, return
- * @c SVN_ERR_UNSUPPORTED_FEATURE in preference to any other error that
+ * #SVN_ERR_UNSUPPORTED_FEATURE in preference to any other error that
  * might otherwise be returned.
  *
  * Use @a scratch_pool for temporary memory allocation.

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_ra_svn.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_ra_svn.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_ra_svn.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_ra_svn.h Thu Jan 18 15:36:08 2018
@@ -144,7 +144,9 @@ typedef struct svn_ra_svn_cmd_entry_t
   svn_boolean_t terminate;
 } svn_ra_svn_cmd_entry_t;
 
-/** Data types defined by the svn:// protocol. */
+/** Data types defined by the svn:// protocol.
+ *
+ * @since The typedef name is new in 1.10; the enumerators are not. */
 typedef enum
 {
   SVN_RA_SVN_NUMBER,

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h Thu Jan 18 15:36:08 2018
@@ -1726,11 +1726,11 @@ svn_repos_stat(svn_dirent_t **dirent,
                apr_pool_t *pool);
 
 /**
- * Callback type to be used with @c svn_repos_list.  It will be invoked for
+ * Callback type to be used with svn_repos_list().  It will be invoked for
  * every directory entry found.
  *
  * The full path of the entry is given in @a path and @a dirent contains
- * various additional information.  If @c svn_repos_list has been called
+ * various additional information.  If svn_repos_list() has been called
  * with @a path_info_only set, only the @a kind element of this struct
  * will be valid.
  *
@@ -1751,14 +1751,14 @@ typedef svn_error_t *(* svn_repos_dirent
  * Walk the sub-tree starting at @a path under @a root up to the given
  * @a depth.  For each directory entry found, @a receiver will be called
  * with @a receiver_baton.  The starting @a path will be reported as well.
- * Because retrieving all elements of a @c svn_dirent_t can be expensive,
+ * Because retrieving all elements of a #svn_dirent_t can be expensive,
  * you may set @a path_info_only to receive only the path name and the node
  * kind.  The entries will be reported ordered by their path.
  *
  * @a patterns is an optional array of <tt>const char *</tt>.  If it is
  * not @c NULL, only those directory entries will be reported whose last
  * path segment matches at least one of these patterns.  This feature uses
- * @c apr_fnmatch for glob matching and requiring '.' to matched by dots
+ * apr_fnmatch() for glob matching and requiring '.' to matched by dots
  * in the path.
  *
  * If @a authz_read_func is not @c NULL, this function will neither report
@@ -1768,7 +1768,7 @@ typedef svn_error_t *(* svn_repos_dirent
  * @a cancel_func and @a cancel_baton.
  *
  * @a path must point to a directory and @a depth must be at least
- * @c svn_depth_empty.
+ * #svn_depth_empty.
  *
  * Use @a scratch_pool for temporary memory allocation.
  *

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_string.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_string.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_string.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_string.h Thu Jan 18 15:36:08 2018
@@ -530,8 +530,7 @@ svn_cstring_count_newlines(const char *m
 
 /**
  * Return a cstring which is the concatenation of @a strings (an array
- * of char *) each followed by @a separator (that is, @a separator
- * will also end the resulting string).  Allocate the result in @a pool.
+ * of char *) joined by @a separator.  Allocate the result in @a pool.
  * If @a strings is empty, then return the empty string.
  * If @a trailing_separator is non-zero, also append the separator
  * after the last joined element.

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_xml.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_xml.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_xml.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_xml.h Thu Jan 18 15:36:08 2018
@@ -175,7 +175,7 @@ typedef void (*svn_xml_char_data)(void *
  * but some internal structures may be allocated out of pool.  Use
  * svn_xml_free_parser() to free all memory used by the parser.
  *
- * Since Subversion 1.10 parser will be freed automatically on pool
+ * @since Since Subversion 1.10 parser will be freed automatically on pool
  * cleanup or by svn_xml_free_parser() call.
  */
 svn_xml_parser_t *

Modified: subversion/branches/shelve-checkpoint/subversion/libsvn_subr/cmdline.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/libsvn_subr/cmdline.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/libsvn_subr/cmdline.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/libsvn_subr/cmdline.c Thu Jan 18 15:36:08 2018
@@ -343,6 +343,23 @@ svn_cmdline_path_local_style_from_utf8(c
 }
 
 svn_error_t *
+svn_cmdline__stdin_readline(const char **result,
+                            apr_pool_t *result_pool,
+                            apr_pool_t *scratch_pool)
+{
+  svn_stringbuf_t *buf = NULL;
+  svn_stream_t *stdin_stream = NULL;
+  svn_boolean_t oob = FALSE;
+
+  SVN_ERR(svn_stream_for_stdin2(&stdin_stream, TRUE, scratch_pool));
+  SVN_ERR(svn_stream_readline(stdin_stream, &buf, APR_EOL_STR, &oob, result_pool));
+
+  *result = buf->data;
+
+  return SVN_NO_ERROR;
+}
+
+svn_error_t *
 svn_cmdline_printf(apr_pool_t *pool, const char *fmt, ...)
 {
   const char *message;

Modified: subversion/branches/shelve-checkpoint/subversion/libsvn_subr/io.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/libsvn_subr/io.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/libsvn_subr/io.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/libsvn_subr/io.c Thu Jan 18 15:36:08 2018
@@ -5440,20 +5440,3 @@ svn_io_file_readline(apr_file_t *file,
 
   return SVN_NO_ERROR;
 }
-
-svn_error_t *
-svn_io_stdin_readline(const char **result,
-                      apr_pool_t *result_pool,
-                      apr_pool_t *scratch_pool)
-{
-  svn_stringbuf_t *buf = NULL;
-  svn_stream_t *stdin_stream = NULL;
-  svn_boolean_t oob = FALSE;
-
-  SVN_ERR(svn_stream_for_stdin2(&stdin_stream, TRUE, scratch_pool));
-  SVN_ERR(svn_stream_readline(stdin_stream, &buf, APR_EOL_STR, &oob, result_pool));
-
-  *result = buf->data;
-
-  return SVN_NO_ERROR;
-}

Modified: subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/dav_svn.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/dav_svn.h?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/dav_svn.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/dav_svn.h Thu Jan 18 15:36:08 2018
@@ -359,10 +359,6 @@ svn_boolean_t dav_svn__get_list_parentpa
    master server version (if provided via SVNMasterVersion).  */
 svn_boolean_t dav_svn__check_httpv2_support(request_rec *r);
 
-/* For the repository referred to by this request, should ephemeral
-   txnprop support be advertised?  */
-svn_boolean_t dav_svn__check_ephemeral_txnprops_support(request_rec *r);
-
 
 
 /* SPECIAL URI

Modified: subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/mod_dav_svn.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/mod_dav_svn.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/mod_dav_svn.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/mod_dav_svn.c Thu Jan 18 15:36:08 2018
@@ -923,21 +923,6 @@ dav_svn__check_httpv2_support(request_re
 }
 
 
-svn_boolean_t
-dav_svn__check_ephemeral_txnprops_support(request_rec *r)
-{
-  svn_version_t *version = dav_svn__get_master_version(r);
-
-  /* We know this server supports ephemeral txnprops.  But if we're
-     proxying requests to a master server, we need to see if it
-     supports them, too.  */
-  if (version && (! svn_version__at_least(version, 1, 8, 0)))
-    return FALSE;
-
-  return TRUE;
-}
-
-
 /* FALSE if path authorization should be skipped.
  * TRUE if either the bypass or the apache subrequest methods should be used.
  */

Modified: subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/version.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/version.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/version.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/version.c Thu Jan 18 15:36:08 2018
@@ -152,9 +152,6 @@ get_vsn_options(apr_pool_t *p, apr_text_
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_INHERITED_PROPS);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_INLINE_PROPS);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_REVERSE_FILE_REVS);
-  apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_SVNDIFF1);
-  apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_SVNDIFF2);
-  apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_PUT_RESULT_CHECKSUM);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_LIST);
   /* Mergeinfo is a special case: here we merely say that the server
    * knows how to handle mergeinfo -- whether the repository does too
@@ -179,11 +176,29 @@ get_option(const dav_resource *resource,
            const apr_xml_elem *elem,
            apr_text_header *option)
 {
+  int i;
   request_rec *r = resource->info->r;
   const char *repos_root_uri =
     dav_svn__build_uri(resource->info->repos, DAV_SVN__BUILD_URI_PUBLIC,
                        SVN_IGNORED_REVNUM, "", FALSE /* add_href */,
                        resource->pool);
+  svn_version_t *master_version = dav_svn__get_master_version(r);
+
+  /* These capabilities are used during commit and when configured as
+     a WebDAV slave (SVNMasterURI is set) their availablity should
+     depend on the master version (SVNMasterVersion is set) if it is
+     older than our own version.  Also, although SVNDIFF1 is available
+     before 1.10 none of those earlier servers advertised it so for
+     consistency we don't advertise it for masters older than 1.10. */
+  struct capability_versions_t {
+    const char *capability_name;
+    svn_version_t min_version;
+  } capabilities[] = {
+    { SVN_DAV_NS_DAV_SVN_EPHEMERAL_TXNPROPS,  { 1,  8, 0, ""} },
+    { SVN_DAV_NS_DAV_SVN_SVNDIFF1,            { 1, 10, 0, ""} },
+    { SVN_DAV_NS_DAV_SVN_SVNDIFF2,            { 1, 10, 0, ""} },
+    { SVN_DAV_NS_DAV_SVN_PUT_RESULT_CHECKSUM, { 1, 10, 0, ""} },
+  };
 
   /* ### DAV:version-history-collection-set */
   if (elem->ns != APR_XML_NS_DAV_ID
@@ -209,14 +224,6 @@ get_option(const dav_resource *resource,
   apr_text_append(resource->pool, option,
                   "</D:activity-collection-set>");
 
-  /* If we're allowed (by configuration) to do so, advertise support
-     for ephemeral transaction properties. */
-  if (dav_svn__check_ephemeral_txnprops_support(r))
-    {
-      apr_table_addn(r->headers_out, "DAV",
-                     SVN_DAV_NS_DAV_SVN_EPHEMERAL_TXNPROPS);
-    }
-
   if (resource->info->repos->fs)
     {
       svn_error_t *serr;
@@ -277,8 +284,6 @@ get_option(const dav_resource *resource,
      DeltaV-free!  If we're configured to advise this support, do so.  */
   if (resource->info->repos->v2_protocol)
     {
-      int i;
-      svn_version_t *master_version = dav_svn__get_master_version(r);
       dav_svn__bulk_upd_conf bulk_upd_conf = dav_svn__get_bulk_updates_flag(r);
 
       /* The list of Subversion's custom POSTs and which versions of
@@ -349,6 +354,22 @@ get_option(const dav_resource *resource,
         }
     }
 
+  /* Report commit capabilites. */
+  for (i = 0; i < sizeof(capabilities)/sizeof(capabilities[0]); ++i)
+    {
+      /* If a master version is declared filter out unsupported
+         capabilities. */
+      if (master_version
+          && (!svn_version__at_least(master_version,
+                                     capabilities[i].min_version.major,
+                                     capabilities[i].min_version.minor,
+                                     capabilities[i].min_version.patch)))
+        continue;
+
+      apr_table_addn(r->headers_out, "DAV",
+                     apr_pstrdup(r->pool, capabilities[i].capability_name));
+    }
+
   return NULL;
 }
 

Modified: subversion/branches/shelve-checkpoint/subversion/svn/svn.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/svn/svn.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/svn/svn.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/svn/svn.c Thu Jan 18 15:36:08 2018
@@ -3198,7 +3198,7 @@ sub_main(int *exit_code, int argc, const
   /* Get password from stdin if necessary */
   if (read_pass_from_stdin)
     {
-      SVN_ERR(svn_io_stdin_readline(&opt_state.auth_password, pool, pool));
+      SVN_ERR(svn_cmdline__stdin_readline(&opt_state.auth_password, pool, pool));
     }
 
   /* Set up our cancellation support. */

Modified: subversion/branches/shelve-checkpoint/subversion/svnbench/svnbench.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/svnbench/svnbench.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/svnbench/svnbench.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/svnbench/svnbench.c Thu Jan 18 15:36:08 2018
@@ -938,7 +938,7 @@ sub_main(int *exit_code, int argc, const
   /* Get password from stdin if necessary */
   if (read_pass_from_stdin)
     {
-      SVN_ERR(svn_io_stdin_readline(&opt_state.auth_password, pool, pool));
+      SVN_ERR(svn_cmdline__stdin_readline(&opt_state.auth_password, pool, pool));
     }
 
   /* Set up our cancellation support. */

Modified: subversion/branches/shelve-checkpoint/subversion/svnmucc/svnmucc.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/svnmucc/svnmucc.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/svnmucc/svnmucc.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/svnmucc/svnmucc.c Thu Jan 18 15:36:08 2018
@@ -740,7 +740,7 @@ sub_main(int *exit_code, int argc, const
   /* Get password from stdin if necessary */
   if (read_pass_from_stdin)
     {
-      SVN_ERR(svn_io_stdin_readline(&password, pool, pool));
+      SVN_ERR(svn_cmdline__stdin_readline(&password, pool, pool));
     }
 
   SVN_ERR(svn_client_create_context2(&ctx, cfg_hash, pool));

Modified: subversion/branches/shelve-checkpoint/subversion/svnrdump/svnrdump.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/svnrdump/svnrdump.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/svnrdump/svnrdump.c (original)
+++ subversion/branches/shelve-checkpoint/subversion/svnrdump/svnrdump.c Thu Jan 18 15:36:08 2018
@@ -1093,7 +1093,7 @@ sub_main(int *exit_code, int argc, const
   /* Get password from stdin if necessary */
   if (read_pass_from_stdin)
     {
-      SVN_ERR(svn_io_stdin_readline(&password, pool, pool));
+      SVN_ERR(svn_cmdline__stdin_readline(&password, pool, pool));
     }
 
   non_interactive = !svn_cmdline__be_interactive(non_interactive,

Modified: subversion/branches/shelve-checkpoint/subversion/tests/cmdline/davautocheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/tests/cmdline/davautocheck.sh?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/tests/cmdline/davautocheck.sh (original)
+++ subversion/branches/shelve-checkpoint/subversion/tests/cmdline/davautocheck.sh Thu Jan 18 15:36:08 2018
@@ -79,8 +79,8 @@
 # environment.
 #
 # Passing --no-tests as argv[1] will have the script start a server
-# but not run any tests.  Passing --gdb will do the same, and in addition
-# spawn gdb in the foreground attached to the running server.
+# but not run any tests.  Passing --gdb or --lldb will do the same, and in
+# addition spawn gdb/lldb in the foreground attached to the running server.
 
 PYTHON=${PYTHON:-python}
 
@@ -763,6 +763,12 @@ if [ $# -eq 1 ] && [ "x$1" = 'x--no-test
   exit
 fi
 
+if [ $# -eq 1 ] && [ "x$1" = 'x--lldb' ]; then
+  echo "http://localhost:$HTTPD_PORT/svn-test-work/repositories"
+  $STOPSCRIPT && lldb --one-line=run -- $START -X
+  exit
+fi
+
 if [ $# -eq 1 ] && [ "x$1" = 'x--gdb' ]; then
   echo "http://localhost:$HTTPD_PORT/svn-test-work/repositories"
   $STOPSCRIPT && gdb -silent -ex r -args $START -X

Modified: subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout (original)
+++ subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout Thu Jan 18 15:36:08 2018
@@ -42,10 +42,13 @@ Available subcommands:
    resolve
    resolved
    revert
-   savepoint (sp, checkpoint)
+   shelf-diff
+   shelf-drop
+   shelf-list (shelves)
+   shelf-log
+   shelf-save
    shelve
    unshelve
-   shelves
    status (stat, st)
    switch (sw)
    unlock

Modified: subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout (original)
+++ subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout Thu Jan 18 15:36:08 2018
@@ -42,10 +42,13 @@ Available subcommands:
    resolve
    resolved
    revert
-   savepoint (sp, checkpoint)
+   shelf-diff
+   shelf-drop
+   shelf-list (shelves)
+   shelf-log
+   shelf-save
    shelve
    unshelve
-   shelves
    status (stat, st)
    switch (sw)
    unlock

Modified: subversion/branches/shelve-checkpoint/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c (original)
+++ subversion/branches/shelve-checkpoint/tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c Thu Jan 18 15:36:08 2018
@@ -807,7 +807,7 @@ sub_main(int *exit_code, int argc, const
   /* Get password from stdin if necessary */
   if (read_pass_from_stdin)
     {
-      SVN_ERR(svn_io_stdin_readline(&opt_state.auth_password, pool, pool));
+      SVN_ERR(svn_cmdline__stdin_readline(&opt_state.auth_password, pool, pool));
     }
 
   /* Create a client context object. */

Modified: subversion/branches/shelve-checkpoint/tools/client-side/svnconflict/svnconflict.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/tools/client-side/svnconflict/svnconflict.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/tools/client-side/svnconflict/svnconflict.c (original)
+++ subversion/branches/shelve-checkpoint/tools/client-side/svnconflict/svnconflict.c Thu Jan 18 15:36:08 2018
@@ -858,7 +858,7 @@ sub_main(int *exit_code, int argc, const
   /* Get password from stdin if necessary */
   if (read_pass_from_stdin)
     {
-      SVN_ERR(svn_io_stdin_readline(&opt_state.auth_password, pool, pool));
+      SVN_ERR(svn_cmdline__stdin_readline(&opt_state.auth_password, pool, pool));
     }
 
 

Modified: subversion/branches/shelve-checkpoint/tools/dev/svnmover/svnmover.c
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/tools/dev/svnmover/svnmover.c?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/tools/dev/svnmover/svnmover.c (original)
+++ subversion/branches/shelve-checkpoint/tools/dev/svnmover/svnmover.c Thu Jan 18 15:36:08 2018
@@ -4596,7 +4596,7 @@ sub_main(int *exit_code, int argc, const
   /* Get password from stdin if necessary */
   if (read_pass_from_stdin)
     {
-      SVN_ERR(svn_io_stdin_readline(&password, pool, pool));
+      SVN_ERR(svn_cmdline__stdin_readline(&password, pool, pool));
     }
 
   SVN_ERR(svn_client_create_context2(&ctx, cfg_hash, pool));

Modified: subversion/branches/shelve-checkpoint/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/tools/dev/unix-build/Makefile.svn?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/shelve-checkpoint/tools/dev/unix-build/Makefile.svn Thu Jan 18 15:36:08 2018
@@ -45,6 +45,7 @@ EXCLUSIVE_WC_LOCKS ?= 1
 USE_HTTPV1 ?= no
 USE_AUTHZ_SHORT_CIRCUIT ?= no
 RAMDISK ?= /ramdisk
+MAKE_JOBS ?= 4
 
 PWD		= $(shell pwd)
 UNAME		= $(shell uname)
@@ -174,7 +175,8 @@ APR_ICONV_URL	= https://www.apache.org/d
 GNU_ICONV_URL	= https://ftp.gnu.org/pub/gnu/libiconv/$(GNU_ICONV_DIST)
 APR_UTIL_URL	= https://svn.apache.org/repos/asf/apr/apr-util
 HTTPD_URL	= https://archive.apache.org/dist/httpd/$(HTTPD_DIST)
-NEON_URL	= http://webdav.org/neon/$(NEON_DIST)
+#NEON_URL	= http://webdav.org/neon/$(NEON_DIST)
+NEON_URL	= http://ftp.openbsd.org/pub/OpenBSD/distfiles/$(NEON_DIST)
 SERF_URL	= https://svn.apache.org/repos/asf/serf/tags/$(SERF_VER)
 SERF_OLD_URL	= https://svn.apache.org/repos/asf/serf/tags/$(SERF_OLD_VER)
 SQLITE_URL	= https://www.sqlite.org/2017/$(SQLITE_DIST)
@@ -338,7 +340,7 @@ $(BDB_OBJDIR)/.configured: $(BDB_OBJDIR)
 
 # compile bdb
 $(BDB_OBJDIR)/.compiled: $(BDB_OBJDIR)/.configured
-	(cd $(BDB_SRCDIR)/build_unix && env MAKEFLAGS= make)
+	(cd $(BDB_SRCDIR)/build_unix && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install bdb
@@ -397,7 +399,7 @@ $(APR_OBJDIR)/.configured: $(APR_OBJDIR)
 
 # compile apr
 $(APR_OBJDIR)/.compiled: $(APR_OBJDIR)/.configured
-	(cd $(APR_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(APR_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install apr
@@ -445,7 +447,7 @@ $(APR_ICONV_OBJDIR)/.configured: $(APR_I
 # compile apr-iconv
 $(APR_ICONV_OBJDIR)/.compiled: $(APR_ICONV_OBJDIR)/.configured
 	(cd $(APR_ICONV_OBJDIR) \
-		&& env MAKEFLAGS= make CPPFLAGS="-D_OSD_POSIX" CFLAGS="-g -O0 $(PROFILE_CFLAGS)")
+		&& env MAKEFLAGS= make CPPFLAGS="-D_OSD_POSIX" CFLAGS="-g -O0 $(PROFILE_CFLAGS)" -j${MAKE_JOBS})
 	touch $@
 
 # install apr-iconv
@@ -527,7 +529,7 @@ $(GNU_ICONV_OBJDIR)/.configured: $(GNU_I
 
 # compile gnu-iconv
 $(GNU_ICONV_OBJDIR)/.compiled: $(GNU_ICONV_OBJDIR)/.configured
-	(cd $(GNU_ICONV_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(GNU_ICONV_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install gnu-iconv
@@ -602,7 +604,7 @@ $(APR_UTIL_OBJDIR)/.configured: $(APR_UT
 
 # compile apr-util
 $(APR_UTIL_OBJDIR)/.compiled: $(APR_UTIL_OBJDIR)/.configured
-	(cd $(APR_UTIL_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(APR_UTIL_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install apr-util
@@ -681,6 +683,13 @@ $(HTTPD_OBJDIR)/acinclude.diff:
 	echo >>$@.tmp '     AC_CHECK_FUNCS(SSL_set_state)'
 	mv -f $@.tmp $@
 
+# fix build without APR_HAS_THREADS (broken by r1750836)
+ifneq ($(THREADING),yes)
+HTTPD_REVERT_1750836_CMD = (cd $(HTTPD_SRCDIR)/modules/proxy && svn diff -c-1750836 https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/modules/proxy/proxy_util.c | patch)
+else
+HTTPD_REVERT_1750836_CMD = true
+endif
+
 # retrieve httpd
 $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$(HTTPD_DIST) \
 	$(HTTPD_OBJDIR)/chil-engine.diff $(HTTPD_OBJDIR)/ssl-set-state.diff \
@@ -709,6 +718,7 @@ $(HTTPD_OBJDIR)/.retrieved: $(DISTDIR)/$
 		< $(HTTPD_SRCDIR)/modules/ssl/${f}.orig \
 		> $(HTTPD_SRCDIR)/modules/ssl/${f};\
 	)
+	$(HTTPD_REVERT_1750836_CMD)
 	touch $@
 
 # configure httpd
@@ -731,7 +741,7 @@ $(HTTPD_OBJDIR)/.configured: $(HTTPD_OBJ
 
 # compile httpd
 $(HTTPD_OBJDIR)/.compiled: $(HTTPD_OBJDIR)/.configured
-	(cd $(HTTPD_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(HTTPD_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install httpd
@@ -812,7 +822,7 @@ $(NEON_OBJDIR)/.configured: $(NEON_OBJDI
 
 # compile neon
 $(NEON_OBJDIR)/.compiled: $(NEON_OBJDIR)/.configured
-	(cd $(NEON_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(NEON_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install neon
@@ -860,7 +870,7 @@ $(SERF_OBJDIR)/.retrieved:
 $(SERF_OBJDIR)/.compiled: $(SERF_OBJDIR)/.retrieved \
 	$(APR_UTIL_OBJDIR)/.installed
 	cd $(SERF_SRCDIR) && \
-		scons DEBUG=1 \
+		scons -j${MAKE_JOBS} DEBUG=1 \
 			CFLAGS="-O0 -g $(PROFILE_CFLAGS) -DAPR_POOL_DEBUG" \
 			APR=$(PREFIX)/apr \
 			APU=$(PREFIX)/apr \
@@ -963,7 +973,7 @@ $(SQLITE_OBJDIR)/.configured: $(SQLITE_O
 
 # compile sqlite
 $(SQLITE_OBJDIR)/.compiled: $(SQLITE_OBJDIR)/.configured
-	(cd $(SQLITE_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(SQLITE_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install sqlite
@@ -1037,7 +1047,7 @@ $(CYRUS_SASL_OBJDIR)/.configured: $(CYRU
 		--prefix=$(PREFIX)/cyrus-sasl
 	touch $@
 
-# compile cyrus-sasl
+# compile cyrus-sasl (ignore MAKE_JOBS; multiple jobs cause random build failures)
 $(CYRUS_SASL_OBJDIR)/.compiled: $(CYRUS_SASL_OBJDIR)/.configured
 	(cd $(CYRUS_SASL_OBJDIR) && env MAKEFLAGS= make)
 	touch $@
@@ -1084,7 +1094,7 @@ $(LIBMAGIC_OBJDIR)/.configured: $(LIBMAG
 
 # compile libmagic
 $(LIBMAGIC_OBJDIR)/.compiled: $(LIBMAGIC_OBJDIR)/.configured
-	(cd $(LIBMAGIC_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(LIBMAGIC_OBJDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install libmagic
@@ -1140,7 +1150,7 @@ $(RUBY_OBJDIR)/.configured: $(RUBY_OBJDI
 		--without-gmp
 	touch $@
 
-# compile ruby
+# compile ruby (ignore MAKE_JOBS; multiple jobs cause random build failures)
 $(RUBY_OBJDIR)/.compiled: $(RUBY_OBJDIR)/.configured
 	(cd $(RUBY_OBJDIR) && env MAKEFLAGS= make)
 	touch $@
@@ -1177,7 +1187,7 @@ $(BZ2_OBJDIR)/.retrieved: $(DISTDIR)/$(B
 
 # compile bz2
 $(BZ2_OBJDIR)/.compiled: $(BZ2_OBJDIR)/.retrieved
-	(cd $(BZ2_SRCDIR) && env MAKEFLAGS= make CFLAGS="-g $(PROFILE_CFLAGS) -fPIC")
+	(cd $(BZ2_SRCDIR) && env MAKEFLAGS= make CFLAGS="-g $(PROFILE_CFLAGS) -fPIC" -j${MAKE_JOBS})
 	touch $@
 
 # install bz2
@@ -1253,7 +1263,7 @@ $(PYTHON_OBJDIR)/.compiled: $(PYTHON_OBJ
 	(cd $(PYTHON_OBJDIR) && \
 		env MAKEFLAGS= \
 		LD_LIBRARY_PATH="$(LD_LIBRARY_PATH):$$LD_LIBRARY_PATH" \
-		make)
+		make -j${MAKE_JOBS})
 	touch $@
 
 # install python
@@ -1324,7 +1334,7 @@ $(GETTEXT_OBJDIR)/.configured: $(GETTEXT
 
 # compile gettext
 $(GETTEXT_OBJDIR)/.compiled: $(GETTEXT_OBJDIR)/.configured
-	(cd $(GETTEXT_SRCDIR) && env MAKEFLAGS= make)
+	(cd $(GETTEXT_SRCDIR) && env MAKEFLAGS= make -j${MAKE_JOBS})
 	touch $@
 
 # install gettext
@@ -1365,7 +1375,7 @@ $(LZ4_OBJDIR)/.configured: $(LZ4_OBJDIR)
 # compile lz4
 $(LZ4_OBJDIR)/.compiled: $(LZ4_OBJDIR)/.configured
 	(cd $(LZ4_SRCDIR)/lib && \
-		env MAKEFLAGS= $(MAKE) PREFIX=$(PREFIX)/lz4)
+		env MAKEFLAGS= $(MAKE) -j${MAKE_JOBS} PREFIX=$(PREFIX)/lz4)
 	touch $@
 
 # install lz4
@@ -1534,7 +1544,7 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
 # compile svn
 $(SVN_OBJDIR)/.compiled: $(SVN_OBJDIR)/.configured
 	cd $(svn_builddir) \
-		&& env MAKEFLAGS= make EXTRA_CFLAGS="$(PROFILE_CFLAGS) $(W_NO_SYSTEM_HEADERS)"
+		&& env MAKEFLAGS= make -j${MAKE_JOBS} EXTRA_CFLAGS="$(PROFILE_CFLAGS) $(W_NO_SYSTEM_HEADERS)"
 	touch $@
 
 # install svn
@@ -1556,18 +1566,18 @@ $(SVN_OBJDIR)/.pre-generated-swig-cleane
 $(SVN_OBJDIR)/.bindings-compiled: $(SVN_OBJDIR)/.installed $(SVN_OBJDIR)/.pre-generated-swig-cleaned
 	cd $(svn_builddir) \
 		&& env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
-			env MAKEFLAGS= make swig-py
+			env MAKEFLAGS= make -j${MAKE_JOBS} swig-py
 	cd $(svn_builddir) && \
 		env PATH=$(PREFIX)/ruby/bin:$$PATH \
-		LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) env MAKEFLAGS= make swig-rb
+		LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) env MAKEFLAGS= make -j${MAKE_JOBS} swig-rb
 	if [ $(ENABLE_PERL_BINDINGS) = yes ]; then \
 		cd $(svn_builddir) \
 			&& env LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) \
-				env MAKEFLAGS= make swig-pl; \
+				env MAKEFLAGS= make -j${MAKE_JOBS} swig-pl; \
 	fi
 	if [ $(ENABLE_JAVA_BINDINGS) = yes ]; then \
 		cd $(svn_builddir) \
-			&& env MAKEFLAGS= make javahl; \
+			&& env MAKEFLAGS= make -j${MAKE_JOBS} javahl; \
 	fi
 	touch $@
 

Modified: subversion/branches/shelve-checkpoint/tools/dev/unix-build/README
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/tools/dev/unix-build/README?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/tools/dev/unix-build/README (original)
+++ subversion/branches/shelve-checkpoint/tools/dev/unix-build/README Thu Jan 18 15:36:08 2018
@@ -94,3 +94,22 @@ everything is "svn-check".
 Notes
 =====
 The script currently doesn't build Ctypes Python bindings.
+
+OpenBSD-specific notes
+======================
+On OpenBSD install the following packages to get dependencies and
+tools not covered by this Makefile:
+
+pkg_add autoconf automake bison coreutils gmake gperf groff libtool \
+	python ruby scons subversion swig wget
+
+Some of these packages are available in several versions. Tested at time
+of writing were: autoconf-2.68 automake-1.19 python-2.7.14 ruby-2.4.2
+
+OpenBSD's autoconf and automake wrappers require desired versions in
+environment variables and will raise errors if these aren't set:
+export AUTOCONF_VERSION=2.68
+export AUTOMAKE_VERSION=1.19
+
+A 'python' symlink is required; follow instructions printed by pkg_add
+when the python package is installed.

Modified: subversion/branches/shelve-checkpoint/tools/examples/ExampleAuthn.java
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/tools/examples/ExampleAuthn.java?rev=1821509&r1=1821508&r2=1821509&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/tools/examples/ExampleAuthn.java (original)
+++ subversion/branches/shelve-checkpoint/tools/examples/ExampleAuthn.java Thu Jan 18 15:36:08 2018
@@ -68,8 +68,11 @@ public class ExampleAuthn {
                              SSLServerCertFailures failures,
                              SSLServerCertInfo info,
                              boolean maySave) {
-          System.out.println("sslServerTrustPrompt not implemented!");
-          return SSLServerTrustResult.acceptTemporarily();
+          System.out.println("sslServerTrustPrompt");
+          System.out.println("(r)eject or (t)emporary?");
+          String s = System.console().readLine();
+          return s.equals("t") ? SSLServerTrustResult.acceptTemporarily()
+                               : SSLServerTrustResult.reject();
         }
 
         public SSLClientCertResult