You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2018/04/17 09:19:06 UTC

svn commit: r1829347 [1/7] - in /subversion/branches/better-pristines: ./ build/ build/ac-macros/ contrib/client-side/ contrib/client-side/svnmerge/ contrib/hook-scripts/ notes/ notes/http-and-webdav/ notes/merge-tracking/ notes/obliterate/ notes/tree-...

Author: brane
Date: Tue Apr 17 09:19:05 2018
New Revision: 1829347

URL: http://svn.apache.org/viewvc?rev=1829347&view=rev
Log:
On the better-pristines branch: Sync with trunk up to r1829346.

Added:
    subversion/branches/better-pristines/subversion/libsvn_client/layout.c
      - copied unchanged from r1829346, subversion/trunk/subversion/libsvn_client/layout.c
    subversion/branches/better-pristines/subversion/tests/libsvn_delta/svndiff-stream-test.c
      - copied unchanged from r1829346, subversion/trunk/subversion/tests/libsvn_delta/svndiff-stream-test.c
    subversion/branches/better-pristines/tools/client-side/svnviewspec_test.py
      - copied unchanged from r1829346, subversion/trunk/tools/client-side/svnviewspec_test.py
Modified:
    subversion/branches/better-pristines/   (props changed)
    subversion/branches/better-pristines/CHANGES
    subversion/branches/better-pristines/INSTALL
    subversion/branches/better-pristines/build.conf
    subversion/branches/better-pristines/build/ac-macros/lz4.m4
    subversion/branches/better-pristines/build/ac-macros/swig.m4
    subversion/branches/better-pristines/build/ac-macros/utf8proc.m4
    subversion/branches/better-pristines/build/transform_sql.py
    subversion/branches/better-pristines/configure.ac
    subversion/branches/better-pristines/contrib/client-side/svn_update.pl
    subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge-migrate-history.py
    subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge.py
    subversion/branches/better-pristines/contrib/hook-scripts/remove-zombie-locks.py
    subversion/branches/better-pristines/notes/EuroOSCON-2005-vc-bof.txt
    subversion/branches/better-pristines/notes/client-configuration
    subversion/branches/better-pristines/notes/diff-optimizations.txt
    subversion/branches/better-pristines/notes/http-and-webdav/webdav-protocol
    subversion/branches/better-pristines/notes/merge-tracking/func-spec.html
    subversion/branches/better-pristines/notes/merge-tracking/requirements.html
    subversion/branches/better-pristines/notes/merge-tracking/summit.html
    subversion/branches/better-pristines/notes/obliterate/obliterate-functional-spec.txt
    subversion/branches/better-pristines/notes/tree-conflicts/design-overview.txt
    subversion/branches/better-pristines/notes/tree-conflicts/detection.txt
    subversion/branches/better-pristines/notes/tree-conflicts/use-cases.txt
    subversion/branches/better-pristines/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp
    subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
    subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
    subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_client.rb
    subversion/branches/better-pristines/subversion/include/private/svn_sorts_private.h
    subversion/branches/better-pristines/subversion/include/private/svn_subr_private.h
    subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h
    subversion/branches/better-pristines/subversion/include/svn_client.h
    subversion/branches/better-pristines/subversion/include/svn_fs.h
    subversion/branches/better-pristines/subversion/include/svn_opt.h
    subversion/branches/better-pristines/subversion/include/svn_props.h
    subversion/branches/better-pristines/subversion/include/svn_ra.h
    subversion/branches/better-pristines/subversion/include/svn_ra_svn.h
    subversion/branches/better-pristines/subversion/include/svn_repos.h
    subversion/branches/better-pristines/subversion/include/svn_utf.h
    subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c
    subversion/branches/better-pristines/subversion/libsvn_client/deprecated.c
    subversion/branches/better-pristines/subversion/libsvn_client/diff.c
    subversion/branches/better-pristines/subversion/libsvn_client/merge.c
    subversion/branches/better-pristines/subversion/libsvn_client/patch.c
    subversion/branches/better-pristines/subversion/libsvn_client/repos_diff.c
    subversion/branches/better-pristines/subversion/libsvn_client/shelf.c
    subversion/branches/better-pristines/subversion/libsvn_client/update.c
    subversion/branches/better-pristines/subversion/libsvn_delta/svndiff.c
    subversion/branches/better-pristines/subversion/libsvn_fs_fs/cached_data.c
    subversion/branches/better-pristines/subversion/libsvn_fs_fs/dag.c
    subversion/branches/better-pristines/subversion/libsvn_fs_fs/index.c
    subversion/branches/better-pristines/subversion/libsvn_fs_fs/load-index.c
    subversion/branches/better-pristines/subversion/libsvn_fs_fs/temp_serializer.h
    subversion/branches/better-pristines/subversion/libsvn_ra_serf/commit.c
    subversion/branches/better-pristines/subversion/libsvn_ra_serf/replay.c
    subversion/branches/better-pristines/subversion/libsvn_ra_serf/update.c
    subversion/branches/better-pristines/subversion/libsvn_repos/load-fs-vtable.c
    subversion/branches/better-pristines/subversion/libsvn_repos/log.c
    subversion/branches/better-pristines/subversion/libsvn_repos/repos.c
    subversion/branches/better-pristines/subversion/libsvn_subr/config_win.c
    subversion/branches/better-pristines/subversion/libsvn_subr/deprecated.c
    subversion/branches/better-pristines/subversion/libsvn_subr/io.c
    subversion/branches/better-pristines/subversion/libsvn_subr/opt.c
    subversion/branches/better-pristines/subversion/libsvn_subr/utf.c
    subversion/branches/better-pristines/subversion/libsvn_subr/x509info.c
    subversion/branches/better-pristines/subversion/libsvn_wc/props.c
    subversion/branches/better-pristines/subversion/mod_dav_svn/reports/replay.c
    subversion/branches/better-pristines/subversion/po/de.po
    subversion/branches/better-pristines/subversion/po/sv.po
    subversion/branches/better-pristines/subversion/svn/auth-cmd.c
    subversion/branches/better-pristines/subversion/svn/cl.h
    subversion/branches/better-pristines/subversion/svn/help-cmd.c
    subversion/branches/better-pristines/subversion/svn/info-cmd.c
    subversion/branches/better-pristines/subversion/svn/log-cmd.c
    subversion/branches/better-pristines/subversion/svn/propset-cmd.c
    subversion/branches/better-pristines/subversion/svn/shelf-cmd.c
    subversion/branches/better-pristines/subversion/svn/svn.c
    subversion/branches/better-pristines/subversion/svnadmin/svnadmin.c
    subversion/branches/better-pristines/subversion/svnmucc/svnmucc.c
    subversion/branches/better-pristines/subversion/svnrdump/load_editor.c
    subversion/branches/better-pristines/subversion/svnrdump/svnrdump.c
    subversion/branches/better-pristines/subversion/svnserve/serve.c
    subversion/branches/better-pristines/subversion/svnserve/svnserve.c
    subversion/branches/better-pristines/subversion/svnversion/svnversion.c
    subversion/branches/better-pristines/subversion/tests/cmdline/authz_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/commit_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/copy_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/dav-mirror-autocheck.sh
    subversion/branches/better-pristines/subversion/tests/cmdline/davautocheck.sh
    subversion/branches/better-pristines/subversion/tests/cmdline/depth_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/export_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/externals_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/getopt_tests_data/svn--help_stdout
    subversion/branches/better-pristines/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout
    subversion/branches/better-pristines/subversion/tests/cmdline/log_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/merge_authz_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/merge_automatic_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/merge_reintegrate_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/merge_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/merge_tree_conflict_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/mergeinfo_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/mod_dav_svn_tests.py   (props changed)
    subversion/branches/better-pristines/subversion/tests/cmdline/shelf_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/svnadmin_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/svnauthz_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/svndumpfilter_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/svnrdump_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/svnserveautocheck.sh
    subversion/branches/better-pristines/subversion/tests/cmdline/svntest/mergetrees.py   (props changed)
    subversion/branches/better-pristines/subversion/tests/cmdline/svntest/verify.py
    subversion/branches/better-pristines/subversion/tests/cmdline/svnversion_tests.py
    subversion/branches/better-pristines/subversion/tests/cmdline/update_tests.py
    subversion/branches/better-pristines/subversion/tests/libsvn_delta/   (props changed)
    subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/help-cmd.c
    subversion/branches/better-pristines/tools/client-side/svn-mergeinfo-normalizer/wc_mergeinfo.c
    subversion/branches/better-pristines/tools/client-side/svn-viewspec.py
    subversion/branches/better-pristines/tools/dev/svnmover/svnmover.c
    subversion/branches/better-pristines/tools/dev/svnraisetreeconflict/svnraisetreeconflict.c
    subversion/branches/better-pristines/tools/dev/unix-build/Makefile.svn
    subversion/branches/better-pristines/tools/dev/wc-ng/svn-wc-db-tester.c
    subversion/branches/better-pristines/tools/dist/backport.pl
    subversion/branches/better-pristines/tools/dist/release.py
    subversion/branches/better-pristines/tools/dist/templates/rc-news.ezt
    subversion/branches/better-pristines/tools/dist/templates/rc-release-ann.ezt
    subversion/branches/better-pristines/tools/dist/templates/stable-news.ezt
    subversion/branches/better-pristines/tools/dist/templates/stable-release-ann.ezt

Propchange: subversion/branches/better-pristines/
            ('bugtraq:logregex' removed)

Propchange: subversion/branches/better-pristines/
            ('bugtraq:url' removed)

Propchange: subversion/branches/better-pristines/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Apr 17 09:19:05 2018
@@ -76,7 +76,7 @@
 /subversion/branches/revprop-caching-ng:1620597,1620599
 /subversion/branches/revprop-packing:1143907,1143971,1143997,1144017,1144499,1144568,1146145
 /subversion/branches/shelve:1802592-1815226
-/subversion/branches/shelve-checkpoint:1801593-1801923,1801970,1817320
+/subversion/branches/shelve-checkpoint:1801593-1801923,1801970,1817320,1828508,1828521
 /subversion/branches/subtree-mergeinfo:876734-878766
 /subversion/branches/svn-auth-x509:1603509-1655900
 /subversion/branches/svn-info-detail:1660035-1662618
@@ -99,4 +99,4 @@
 /subversion/branches/verify-at-commit:1462039-1462408
 /subversion/branches/verify-keep-going:1439280-1546110
 /subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1807118-1826405
+/subversion/trunk:1807118-1829346

Propchange: subversion/branches/better-pristines/
            ('tsvn:logwidthmarker' removed)

Propchange: subversion/branches/better-pristines/
            ('tsvn:projectlanguage' removed)

Propchange: subversion/branches/better-pristines/
            ('webviewer:revision' removed)

Modified: subversion/branches/better-pristines/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/CHANGES?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/CHANGES (original)
+++ subversion/branches/better-pristines/CHANGES Tue Apr 17 09:19:05 2018
@@ -4,7 +4,7 @@ http://svn.apache.org/repos/asf/subversi
 
 
 Version 1.10.0
-(?? ??? 2018, from /branches/1.10.x)
+(13 Apr 2018, from /branches/1.10.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.10.0
 
 See the 1.10 release notes for a more verbose overview of the changes since
@@ -100,6 +100,7 @@ the 1.9 release:  https://subversion.apa
     * Add 'http-compression=auto' client config option as default (r1803899 et al)
     * Speed up processing of mergeinfo (r1802470 et al)
     * Check for invalid 'xt' fields in x509 certs (r1809290)
+    * New '--password-from-stdin' option for 'svn' (r1819093)
   - Client-side bugfixes:
     * svnbench: Honour the '--with-no-revprops' option (r1709593)
     * ra_serf: Fix segfault when running over HTTP v1 (r1766089)
@@ -5724,7 +5725,7 @@ http://svn.apache.org/repos/asf/subversi
       twice as slow and lose all concurrent-client scalability.
 
       This is a temporary fix for a larger design problem.  See issue
-      http://subversion.tigris.org/issues/show_bug.cgi?id=1499
+      https://issues.apache.org/jira/browse/SVN-1499
 
 
 Version 0.28.1

Modified: subversion/branches/better-pristines/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/INSTALL?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/INSTALL (original)
+++ subversion/branches/better-pristines/INSTALL Tue Apr 17 09:19:05 2018
@@ -147,10 +147,11 @@ I.    INTRODUCTION
          for other languages, you need to have those languages
          available at build time.
 
-      * KDELibs, GNOME Keyring  (OPTIONAL for client)
+      * KDE Framework 5, libsecret, GNOME Keyring (OPTIONAL for client)
 
          Subversion contains optional support for storing passwords in
-         KWallet (KDE 4) or GNOME Keyring.
+         KWallet via KDE Framework 5 libraries (preferred) or kdelibs4,
+         and GNOME Keyring via libsecret (preferred) or GNOME APIs.
 
       * libmagic (OPTIONAL)
 
@@ -456,19 +457,22 @@ I.    INTRODUCTION
       and GNOME Keyring. pkg-config is needed to find D-Bus headers and library.
 
 
-      15. Qt 4  (Unix only, OPTIONAL)
+      15. Qt 5 or Qt 4  (Unix only, OPTIONAL)
 
       Qt is a cross-platform application framework. QtCore, QtDBus and QtGui
       modules are required for support for KWallet. pkg-config is needed
       to find Qt headers and libraries.
 
 
-      16. KDELibs 4  (Unix only, OPTIONAL)
+      16. KDE 5 Framework libraries or KDELibs 4  (Unix only, OPTIONAL)
 
       Subversion contains optional support for storing passwords in KWallet.
+      Subversion will look for KF5Wallet, KF5CoreAddons, KF5I18n APIs by default,
+      and needs kf5-config to find them. The KDELibs 4 api is also supported.
       KDELibs contains core KDE libraries. Subversion uses libkdecore and libkdeui
       libraries when support for KWallet is enabled. kde4-config is used to get
       some necessary options. pkg-config, D-Bus and Qt 4 are also required.
+
       If you want to build support for KWallet, then pass the '--with-kwallet'
       option to `configure`. If KDE is installed in a non-standard prefix, then
       use:

Modified: subversion/branches/better-pristines/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build.conf?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/build.conf (original)
+++ subversion/branches/better-pristines/build.conf Tue Apr 17 09:19:05 2018
@@ -1207,6 +1207,14 @@ sources = window-test.c
 install = test
 libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
 
+[svndiff-stream-test]
+description = Test svndiff streams
+type = exe
+path = subversion/tests/libsvn_delta
+sources = svndiff-stream-test.c
+install = test
+libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
+
 # ----------------------------------------------------------------------------
 # Tests for libsvn_client
 
@@ -1580,6 +1588,7 @@ libs = __ALL__
        op-depth-test dirent_uri-test wc-queries-test wc-test
        auth-test
        parse-diff-test x509-test xml-test afl-x509 compress-test
+       svndiff-stream-test
 
 [__MORE__]
 type = project

Modified: subversion/branches/better-pristines/build/ac-macros/lz4.m4
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/ac-macros/lz4.m4?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/ac-macros/lz4.m4 (original)
+++ subversion/branches/better-pristines/build/ac-macros/lz4.m4 Tue Apr 17 09:19:05 2018
@@ -39,6 +39,10 @@ AC_DEFUN(SVN_LZ4,
     ],
     [lz4_prefix=std])
 
+  if test "$lz4_prefix" = "no"; then
+    dnl The user has tried to disable LZ4
+    AC_MSG_ERROR([Subversion requires LZ4])
+  fi
   if test "$lz4_prefix" = "internal"; then
     AC_MSG_NOTICE([using internal lz4])
     AC_DEFINE([SVN_INTERNAL_LZ4], [1],

Modified: subversion/branches/better-pristines/build/ac-macros/swig.m4
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/ac-macros/swig.m4?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/ac-macros/swig.m4 (original)
+++ subversion/branches/better-pristines/build/ac-macros/swig.m4 Tue Apr 17 09:19:05 2018
@@ -98,202 +98,202 @@ AC_DEFUN(SVN_FIND_SWIG,
       AC_MSG_WARN([Detected SWIG version $SWIG_VERSION_RAW])
       AC_MSG_WARN([Subversion requires SWIG >= 1.3.24])
     fi
+  fi
+ 
+  SWIG_PY_COMPILE="none"
+  SWIG_PY_LINK="none"
+  if test "$PYTHON" != "none"; then
+    AC_MSG_NOTICE([Configuring python swig binding])
+
+    AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
+      ac_cv_python_includes="`$PYTHON ${abs_srcdir}/build/get-py-info.py --includes`"
+    ])
+    SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
 
-    SWIG_PY_COMPILE="none"
-    SWIG_PY_LINK="none"
-    if test "$PYTHON" != "none"; then
-      AC_MSG_NOTICE([Configuring python swig binding])
-
-      AC_CACHE_CHECK([for Python includes], [ac_cv_python_includes],[
-        ac_cv_python_includes="`$PYTHON ${abs_srcdir}/build/get-py-info.py --includes`"
-      ])
-      SWIG_PY_INCLUDES="\$(SWIG_INCLUDES) $ac_cv_python_includes"
+    if test "$ac_cv_python_includes" = "none"; then
+      AC_MSG_WARN([python bindings cannot be built without distutils module])
+    fi
 
-      if test "$ac_cv_python_includes" = "none"; then
-        AC_MSG_WARN([python bindings cannot be built without distutils module])
+    AC_CACHE_CHECK([for compiling Python extensions], [ac_cv_python_compile],[
+      ac_cv_python_compile="`$PYTHON ${abs_srcdir}/build/get-py-info.py --compile`"
+    ])
+    SWIG_PY_COMPILE="$ac_cv_python_compile $CFLAGS"
+
+    AC_CACHE_CHECK([for linking Python extensions], [ac_cv_python_link],[
+      ac_cv_python_link="`$PYTHON ${abs_srcdir}/build/get-py-info.py --link`"
+    ])
+    SWIG_PY_LINK="$ac_cv_python_link"
+
+    AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
+      ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
+    ])
+    SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
+
+    dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT
+    dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT
+    dnl thus the egrep patterns have a + in them.
+    SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
+    AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
+                   [svn_cv_pycfmt_apr_int64_t], [
+      if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+        AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
+                     [#include <apr.h>
+                      MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+                     [svn_cv_pycfmt_apr_int64_t="L"])
       fi
-
-      AC_CACHE_CHECK([for compiling Python extensions], [ac_cv_python_compile],[
-        ac_cv_python_compile="`$PYTHON ${abs_srcdir}/build/get-py-info.py --compile`"
-      ])
-      SWIG_PY_COMPILE="$ac_cv_python_compile $CFLAGS"
-
-      AC_CACHE_CHECK([for linking Python extensions], [ac_cv_python_link],[
-        ac_cv_python_link="`$PYTHON ${abs_srcdir}/build/get-py-info.py --link`"
-      ])
-      SWIG_PY_LINK="$ac_cv_python_link"
-
-      AC_CACHE_CHECK([for linking Python libraries], [ac_cv_python_libs],[
-        ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
-      ])
-      SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
-
-      dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT
-      dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT
-      dnl thus the egrep patterns have a + in them.
-      SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS"
-      CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
-      AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
-                     [svn_cv_pycfmt_apr_int64_t], [
-        if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-          AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
-                       [#include <apr.h>
-                        MaTcHtHiS APR_INT64_T_FMT EnDeNd],
-                       [svn_cv_pycfmt_apr_int64_t="L"])
-        fi
-        if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-          AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
-                       [#include <apr.h>
-                        MaTcHtHiS APR_INT64_T_FMT EnDeNd],
-                       [svn_cv_pycfmt_apr_int64_t="l"])
-        fi
-        if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-          AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd],
-                       [#include <apr.h>
-                        MaTcHtHiS APR_INT64_T_FMT EnDeNd],
-                       [svn_cv_pycfmt_apr_int64_t="i"])
-        fi
-      ])
-      CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS"
       if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-        AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform])
+        AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
+                     [#include <apr.h>
+                      MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+                     [svn_cv_pycfmt_apr_int64_t="l"])
       fi
-      AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT],
-                         ["$svn_cv_pycfmt_apr_int64_t"],
-                         [Define to the Python/C API format character suitable]
-                         [ for apr_int64_t])
-    fi
-
-    if test "$PERL" != "none"; then
-      AC_MSG_CHECKING([perl version])
-      dnl Note that the q() bit is there to avoid unbalanced brackets
-      dnl which m4 really doesn't like.
-      PERL_VERSION="`$PERL -e 'q([[); print $]] * 1000000,$/;'`"
-      AC_MSG_RESULT([$PERL_VERSION])
-      if test "$PERL_VERSION" -ge "5008000"; then
-        SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$PERL -MExtUtils::Embed -e ccopts`"
-        SWIG_PL_LINK="`$PERL -MExtUtils::Embed -e ldopts`"
-        SWIG_PL_LINK="`SVN_REMOVE_STANDARD_LIB_DIRS($SWIG_PL_LINK)`"
-      else
-        AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
+      if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+        AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd],
+                     [#include <apr.h>
+                      MaTcHtHiS APR_INT64_T_FMT EnDeNd],
+                     [svn_cv_pycfmt_apr_int64_t="i"])
       fi
+    ])
+    CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS"
+    if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
+      AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform])
     fi
+    AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT],
+                       ["$svn_cv_pycfmt_apr_int64_t"],
+                       [Define to the Python/C API format character suitable]
+                       [ for apr_int64_t])
+  fi
 
-    SWIG_RB_COMPILE="none"
-    SWIG_RB_LINK="none"
-    if test "$RUBY" != "none"; then
-      rbconfig="$RUBY -rrbconfig -e "
-
-      for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
-                      rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
-      do
-        rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
-        eval "rbconfig_$var_name=\"$rbconfig_tmp\""
-      done
-
-      AC_MSG_NOTICE([Configuring Ruby SWIG binding])
-
-      AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
-      if test -d "$rbconfig_rubyhdrdir"; then
-        dnl Ruby >=1.9
-        svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward"
-        if test -d "$rbconfig_rubyarchhdrdir"; then
-          dnl Ruby >=2.0
-          svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
-        else
-          svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
-        fi
+  if test "$PERL" != "none"; then
+    AC_MSG_CHECKING([perl version])
+    dnl Note that the q() bit is there to avoid unbalanced brackets
+    dnl which m4 really doesn't like.
+    PERL_VERSION="`$PERL -e 'q([[); print $]] * 1000000,$/;'`"
+    AC_MSG_RESULT([$PERL_VERSION])
+    if test "$PERL_VERSION" -ge "5008000"; then
+      SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$PERL -MExtUtils::Embed -e ccopts`"
+      SWIG_PL_LINK="`$PERL -MExtUtils::Embed -e ldopts`"
+      SWIG_PL_LINK="`SVN_REMOVE_STANDARD_LIB_DIRS($SWIG_PL_LINK)`"
+    else
+      AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.])
+    fi
+  fi
+
+  SWIG_RB_COMPILE="none"
+  SWIG_RB_LINK="none"
+  if test "$RUBY" != "none"; then
+    rbconfig="$RUBY -rrbconfig -e "
+
+    for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
+                    rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir
+    do
+      rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"`
+      eval "rbconfig_$var_name=\"$rbconfig_tmp\""
+    done
+
+    AC_MSG_NOTICE([Configuring Ruby SWIG binding])
+
+    AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[
+    if test -d "$rbconfig_rubyhdrdir"; then
+      dnl Ruby >=1.9
+      svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward"
+      if test -d "$rbconfig_rubyarchhdrdir"; then
+        dnl Ruby >=2.0
+        svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir"
       else
-        dnl Ruby 1.8
-        svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
+        svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch"
       fi
-      ])
-      SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
+    else
+      dnl Ruby 1.8
+      svn_cv_ruby_includes="-I. -I$rbconfig_archdir"
+    fi
+    ])
+    SWIG_RB_INCLUDES="\$(SWIG_INCLUDES) $svn_cv_ruby_includes"
 
-      AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
-        svn_cv_ruby_compile="$rbconfig_CC $CFLAGS"
-      ])
-      SWIG_RB_COMPILE="$svn_cv_ruby_compile"
-      SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-ansi])
-      SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c89])
-      SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c90])
-      dnl FIXME: Check that the compiler for Ruby actually supports this flag
-      SWIG_RB_COMPILE="$SWIG_RB_COMPILE -Wno-int-to-pointer-cast"
-
-      AC_CACHE_CHECK([how to link Ruby extensions], [svn_cv_ruby_link],[
-        svn_cv_ruby_link="`$RUBY -e 'ARGV.shift; print ARGV.join(%q( ))' \
-                             $rbconfig_LDSHARED`"
-        svn_cv_ruby_link="$rbconfig_CC $svn_cv_ruby_link"
-        svn_cv_ruby_link="$svn_cv_ruby_link -shrext .$rbconfig_DLEXT"
-      ])
-      SWIG_RB_LINK="$svn_cv_ruby_link"
-
-      AC_CACHE_CHECK([how to link Ruby libraries], [ac_cv_ruby_libs], [
-        ac_cv_ruby_libs="$rbconfig_LIBRUBYARG $rbconfig_LIBS"
-      ])
-      SWIG_RB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_ruby_libs)`"
-
-      AC_MSG_CHECKING([for rb_errinfo])
-      old_CFLAGS="$CFLAGS"
-      old_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $svn_cv_ruby_includes"
-      SVN_STRIP_FLAG([CFLAGS], [-ansi])
-      SVN_STRIP_FLAG([CFLAGS], [-std=c89])
-      SVN_STRIP_FLAG([CFLAGS], [-std=c90])
-      LIBS="$SWIG_RB_LIBS"
-      AC_LINK_IFELSE([AC_LANG_SOURCE([[
+    AC_CACHE_CHECK([how to compile Ruby extensions], [svn_cv_ruby_compile],[
+      svn_cv_ruby_compile="$rbconfig_CC $CFLAGS"
+    ])
+    SWIG_RB_COMPILE="$svn_cv_ruby_compile"
+    SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-ansi])
+    SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c89])
+    SVN_STRIP_FLAG([SWIG_RB_COMPILE], [-std=c90])
+    dnl FIXME: Check that the compiler for Ruby actually supports this flag
+    SWIG_RB_COMPILE="$SWIG_RB_COMPILE -Wno-int-to-pointer-cast"
+
+    AC_CACHE_CHECK([how to link Ruby extensions], [svn_cv_ruby_link],[
+      svn_cv_ruby_link="`$RUBY -e 'ARGV.shift; print ARGV.join(%q( ))' \
+                           $rbconfig_LDSHARED`"
+      svn_cv_ruby_link="$rbconfig_CC $svn_cv_ruby_link"
+      svn_cv_ruby_link="$svn_cv_ruby_link -shrext .$rbconfig_DLEXT"
+    ])
+    SWIG_RB_LINK="$svn_cv_ruby_link"
+
+    AC_CACHE_CHECK([how to link Ruby libraries], [ac_cv_ruby_libs], [
+      ac_cv_ruby_libs="$rbconfig_LIBRUBYARG $rbconfig_LIBS"
+    ])
+    SWIG_RB_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_ruby_libs)`"
+
+    AC_MSG_CHECKING([for rb_errinfo])
+    old_CFLAGS="$CFLAGS"
+    old_LIBS="$LIBS"
+    CFLAGS="$CFLAGS $svn_cv_ruby_includes"
+    SVN_STRIP_FLAG([CFLAGS], [-ansi])
+    SVN_STRIP_FLAG([CFLAGS], [-std=c89])
+    SVN_STRIP_FLAG([CFLAGS], [-std=c90])
+    LIBS="$SWIG_RB_LIBS"
+    AC_LINK_IFELSE([AC_LANG_SOURCE([[
 #include <ruby.h>
 int main()
 {rb_errinfo();}]])], have_rb_errinfo="yes", have_rb_errinfo="no")
-      if test "$have_rb_errinfo" = "yes"; then
-        AC_MSG_RESULT([yes])
-        AC_DEFINE([HAVE_RB_ERRINFO], [1],
-                  [Define to 1 if you have the `rb_errinfo' function.])
-      else
-        AC_MSG_RESULT([no])
-      fi
-      CFLAGS="$old_CFLAGS"
-      LIBS="$old_LIBS"
-
-      AC_CACHE_VAL([svn_cv_ruby_sitedir],[
-        svn_cv_ruby_sitedir="$rbconfig_sitedir"
-      ])
-      AC_ARG_WITH([ruby-sitedir],
-      AS_HELP_STRING([--with-ruby-sitedir=SITEDIR],
-                                 [install Ruby bindings in SITEDIR
-                                  (default is same as ruby's one)]),
-      [svn_ruby_installdir="$withval"],
-      [svn_ruby_installdir="$svn_cv_ruby_sitedir"])
-
-      AC_MSG_CHECKING([where to install Ruby scripts])
-      AC_CACHE_VAL([svn_cv_ruby_sitedir_libsuffix],[
-        svn_cv_ruby_sitedir_libsuffix="`echo "$rbconfig_sitelibdir" | \
-                                          $SED -e "s,^$rbconfig_sitedir,,"`"
-      ])
-      SWIG_RB_SITE_LIB_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_libsuffix}"
-      AC_MSG_RESULT([$SWIG_RB_SITE_LIB_DIR])
-
-      AC_MSG_CHECKING([where to install Ruby extensions])
-      AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
-        svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
-                                          $SED -e "s,^$rbconfig_sitedir,,"`"
-      ])
-      SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
-      AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])
-
-      AC_MSG_CHECKING([how to use output level for Ruby bindings tests])
-      AC_CACHE_VAL([svn_cv_ruby_test_verbose],[
-        svn_cv_ruby_test_verbose="normal"
-      ])
-      AC_ARG_WITH([ruby-test-verbose],
-      AS_HELP_STRING([--with-ruby-test-verbose=LEVEL],
-                                 [how to use output level for Ruby bindings tests
-                                  (default is normal)]),
-      [svn_ruby_test_verbose="$withval"],
-                    [svn_ruby_test_verbose="$svn_cv_ruby_test_verbose"])
-        SWIG_RB_TEST_VERBOSE="$svn_ruby_test_verbose"
-        AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
+    if test "$have_rb_errinfo" = "yes"; then
+      AC_MSG_RESULT([yes])
+      AC_DEFINE([HAVE_RB_ERRINFO], [1],
+                [Define to 1 if you have the `rb_errinfo' function.])
+    else
+      AC_MSG_RESULT([no])
     fi
+    CFLAGS="$old_CFLAGS"
+    LIBS="$old_LIBS"
+
+    AC_CACHE_VAL([svn_cv_ruby_sitedir],[
+      svn_cv_ruby_sitedir="$rbconfig_sitedir"
+    ])
+    AC_ARG_WITH([ruby-sitedir],
+    AS_HELP_STRING([--with-ruby-sitedir=SITEDIR],
+                               [install Ruby bindings in SITEDIR
+                                (default is same as ruby's one)]),
+    [svn_ruby_installdir="$withval"],
+    [svn_ruby_installdir="$svn_cv_ruby_sitedir"])
+
+    AC_MSG_CHECKING([where to install Ruby scripts])
+    AC_CACHE_VAL([svn_cv_ruby_sitedir_libsuffix],[
+      svn_cv_ruby_sitedir_libsuffix="`echo "$rbconfig_sitelibdir" | \
+                                        $SED -e "s,^$rbconfig_sitedir,,"`"
+    ])
+    SWIG_RB_SITE_LIB_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_libsuffix}"
+    AC_MSG_RESULT([$SWIG_RB_SITE_LIB_DIR])
+
+    AC_MSG_CHECKING([where to install Ruby extensions])
+    AC_CACHE_VAL([svn_cv_ruby_sitedir_archsuffix],[
+      svn_cv_ruby_sitedir_archsuffix="`echo "$rbconfig_sitearchdir" | \
+                                        $SED -e "s,^$rbconfig_sitedir,,"`"
+    ])
+    SWIG_RB_SITE_ARCH_DIR="${svn_ruby_installdir}${svn_cv_ruby_sitedir_archsuffix}"
+    AC_MSG_RESULT([$SWIG_RB_SITE_ARCH_DIR])
+
+    AC_MSG_CHECKING([how to use output level for Ruby bindings tests])
+    AC_CACHE_VAL([svn_cv_ruby_test_verbose],[
+      svn_cv_ruby_test_verbose="normal"
+    ])
+    AC_ARG_WITH([ruby-test-verbose],
+    AS_HELP_STRING([--with-ruby-test-verbose=LEVEL],
+                               [how to use output level for Ruby bindings tests
+                                (default is normal)]),
+    [svn_ruby_test_verbose="$withval"],
+                  [svn_ruby_test_verbose="$svn_cv_ruby_test_verbose"])
+      SWIG_RB_TEST_VERBOSE="$svn_ruby_test_verbose"
+      AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE])
   fi
   AC_SUBST(SWIG)
   AC_SUBST(SWIG_PY_INCLUDES)

Modified: subversion/branches/better-pristines/build/ac-macros/utf8proc.m4
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/ac-macros/utf8proc.m4?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/ac-macros/utf8proc.m4 (original)
+++ subversion/branches/better-pristines/build/ac-macros/utf8proc.m4 Tue Apr 17 09:19:05 2018
@@ -39,6 +39,10 @@ AC_DEFUN(SVN_UTF8PROC,
     ],
     [utf8proc_prefix=std])
 
+  if test "$utf8proc_prefix" = "no"; then
+    dnl The user has tried to disable UTF8PROC
+    AC_MSG_ERROR([Subversion requires UTF8PROC])
+  fi
   if test "$utf8proc_prefix" = "internal"; then
     AC_MSG_NOTICE([using internal utf8proc])
     AC_DEFINE([SVN_INTERNAL_UTF8PROC], [1],

Modified: subversion/branches/better-pristines/build/transform_sql.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/build/transform_sql.py?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/build/transform_sql.py (original)
+++ subversion/branches/better-pristines/build/transform_sql.py Tue Apr 17 09:19:05 2018
@@ -274,7 +274,7 @@ def main(input_filepath, output):
     '/* This file is automatically generated from %s and %s.\n'
     ' * Do not edit this file -- edit the source and rerun gen-make.py */\n'
     '\n'
-    % (filename, token_map_filename))
+    % (filename, os.path.basename(token_map_filename)))
 
   proc = Processor(os.path.dirname(input_filepath), output, var_name, token_map)
   proc.process_file(input)

Modified: subversion/branches/better-pristines/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/configure.ac?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/configure.ac (original)
+++ subversion/branches/better-pristines/configure.ac Tue Apr 17 09:19:05 2018
@@ -1323,7 +1323,7 @@ if test "$RUBY" != "none"; then
     if test -n "$RDOC"; then
       AC_PATH_PROG(RDOC, "$RDOC", none)
     else
-      AC_PATH_PROGS(RUBY, rdoc rdoc1 rdoc1.8 rdoc18 rdoc1.9 rdoc19 rdoc1.9.3 rdoc193 rdoc2 rdoc2.0 rdoc20 rdoc2.1 rdoc21 rdoc2.2 rdoc22 rdoc2.3 rdoc23 rdoc2.4 rdoc24, none)
+      AC_PATH_PROGS(RDOC, rdoc rdoc1 rdoc1.8 rdoc18 rdoc1.9 rdoc19 rdoc1.9.3 rdoc193 rdoc2 rdoc2.0 rdoc20 rdoc2.1 rdoc21 rdoc2.2 rdoc22 rdoc2.3 rdoc23 rdoc2.4 rdoc24, none)
     fi
     AC_CACHE_CHECK([for Ruby major version], [svn_cv_ruby_major],[
     svn_cv_ruby_major="`$RUBY -rrbconfig -e 'print RbConfig::CONFIG.fetch(%q(MAJOR))'`"

Modified: subversion/branches/better-pristines/contrib/client-side/svn_update.pl
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/contrib/client-side/svn_update.pl?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/contrib/client-side/svn_update.pl (original)
+++ subversion/branches/better-pristines/contrib/client-side/svn_update.pl Tue Apr 17 09:19:05 2018
@@ -31,7 +31,7 @@
 # given file(s) that would require >n minutes, where n is the
 # server's magic timeout (5 min.??), the server will timeout.  This
 # leaves the client/user in an unswell state.  See issue #2048 for
-# details http://subversion.tigris.org/issues/show_bug.cgi?id=2048.
+# details https://issues.apache.org/jira/browse/SVN-2048.
 #
 # One solution is to wrap the 'svn update' command in a script that
 # will perform the update one file at a time.  The problem with

Modified: subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge-migrate-history.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge-migrate-history.py?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge-migrate-history.py (original)
+++ subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge-migrate-history.py Tue Apr 17 09:19:05 2018
@@ -259,7 +259,7 @@ class Migrator:
         # Run the final version of the new svn:mergeinfo through the
         # parser to ensure it is in canonical form, e.g. no overlapping
         # or unordered rangelists, see
-        # http://subversion.tigris.org/issues/show_bug.cgi?id=3302.
+        # https://issues.apache.org/jira/browse/SVN-3302.
         mergeinfo = svn.core.svn_mergeinfo_parse(new_mergeinfo_prop_val)
         new_mergeinfo_prop_val = mergeinfo2str(mergeinfo)
 

Modified: subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge.py?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge.py (original)
+++ subversion/branches/better-pristines/contrib/client-side/svnmerge/svnmerge.py Tue Apr 17 09:19:05 2018
@@ -1367,7 +1367,7 @@ def action_init(target_dir, target_props
         # the copy target is the merge target, then we want to mark as
         # integrated up to the specific rev of the merge target from
         # which the merge source was copied.  (Longer discussion at:
-        # http://subversion.tigris.org/issues/show_bug.cgi?id=2810  )
+        # https://issues.apache.org/jira/browse/SVN-2810  )
         cf_source, cf_rev, copy_committed_in_rev = get_copyfrom(target_dir)
 
         cf_pathid = None

Modified: subversion/branches/better-pristines/contrib/hook-scripts/remove-zombie-locks.py
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/contrib/hook-scripts/remove-zombie-locks.py?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/contrib/hook-scripts/remove-zombie-locks.py (original)
+++ subversion/branches/better-pristines/contrib/hook-scripts/remove-zombie-locks.py Tue Apr 17 09:19:05 2018
@@ -28,7 +28,7 @@ Usage: remove-zombie-locks.py REPOS-PATH
   locks on files that don't exist in the HEAD revision, removing any found.
 
   This script is a workaround for Subversion issue #2507
-  http://subversion.tigris.org/issues/show_bug.cgi?id=2507
+  https://issues.apache.org/jira/browse/SVN-2507
 
 Examples:
 

Modified: subversion/branches/better-pristines/notes/EuroOSCON-2005-vc-bof.txt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/EuroOSCON-2005-vc-bof.txt?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/EuroOSCON-2005-vc-bof.txt (original)
+++ subversion/branches/better-pristines/notes/EuroOSCON-2005-vc-bof.txt Tue Apr 17 09:19:05 2018
@@ -151,7 +151,7 @@ Comments from projects that switched fro
 
 * The w.c. space penalty is a real issue for large projects.  Disk
   space is not as cheap as we thought, those .svn/text-base/* files
-  hurt.  See http://subversion.tigris.org/issues/show_bug.cgi?id=525.
+  hurt.  See https://issues.apache.org/jira/browse/SVN-525.
   
   [gerv: Random thought - if you can't easily do copy-on-write, could
   you perhaps share text-base files by hard-linking between multiple

Modified: subversion/branches/better-pristines/notes/client-configuration
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/client-configuration?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/client-configuration (original)
+++ subversion/branches/better-pristines/notes/client-configuration Tue Apr 17 09:19:05 2018
@@ -59,8 +59,8 @@ dev@s.a.o: "Bikeshed: configuration over
 dev@s.a.o: "Default commandline args";
     http://svn.haxx.se/dev/archive-2010-12/0449.shtml
 Issue 1974: "server-side config which 'broadcasts' to clients";
-    http://subversion.tigris.org/issues/show_bug.cgi?id=1974
+    https://issues.apache.org/jira/browse/SVN-1974
 Issue 3765: "client-configurable default args";
-    http://subversion.tigris.org/issues/show_bug.cgi?id=3765
+    https://issues.apache.org/jira/browse/SVN-3765
 Issue 3769: "Add APIs which allow library consumers to specify configuration options"
-    http://subversion.tigris.org/issues/show_bug.cgi?id=3769
+    https://issues.apache.org/jira/browse/SVN-3769

Modified: subversion/branches/better-pristines/notes/diff-optimizations.txt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/diff-optimizations.txt?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/diff-optimizations.txt (original)
+++ subversion/branches/better-pristines/notes/diff-optimizations.txt Tue Apr 17 09:19:05 2018
@@ -80,7 +80,7 @@ See also issue #1966 (libsvn_diff needs
 References
 ----------
 
-[1] http://subversion.tigris.org/issues/show_bug.cgi?id=1966 (libsvn_diff
+[1] https://issues.apache.org/jira/browse/SVN-1966 (libsvn_diff
 needs 'non-minimal-diff' mode)
 [2] Miller, W., and Myers, E.W. "A File Comparison Program.", Software -
     Practice & Experience 15 (1985), pp. 1025-1040.

Modified: subversion/branches/better-pristines/notes/http-and-webdav/webdav-protocol
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/http-and-webdav/webdav-protocol?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/http-and-webdav/webdav-protocol (original)
+++ subversion/branches/better-pristines/notes/http-and-webdav/webdav-protocol Tue Apr 17 09:19:05 2018
@@ -425,7 +425,7 @@ Purpose: Retrieve a record of the change
 
 Target URL: Prior to Subversion 1.8, the target URL was the public
             resource URL of the aforementioned subtree.  Per issue #4287
-            (http://subversion.tigris.org/issues/show_bug.cgi?id=4287),
+            (https://issues.apache.org/jira/browse/SVN-4287),
             it was discovered that this was an incorrect approach, so
             in Subversion 1.8, mod_dav_svn allowed clients to submit
             this report (with a slightly different Request syntax)

Modified: subversion/branches/better-pristines/notes/merge-tracking/func-spec.html
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/merge-tracking/func-spec.html?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/merge-tracking/func-spec.html (original)
+++ subversion/branches/better-pristines/notes/merge-tracking/func-spec.html Tue Apr 17 09:19:05 2018
@@ -166,7 +166,7 @@ mergeinfo for the merge is set on the de
   was present in the WC despite being outside its parent's 'depth'
   attribute) and could not then re-add a node of the same name in order to
   perform both halves of an incoming replacement.  <a
-  href="http://subversion.tigris.org/issues/show_bug.cgi?id=4164" >Issue
+  href="https://issues.apache.org/jira/browse/SVN-4164" >Issue
   #4164 "inconsistencies in merge handling of adds vs. edits in shallow
   targets"</a> is related.</em></p>
 
@@ -264,7 +264,7 @@ SSRP - Switched subtree's repository par
 
 <h3>Delete</h3>
 
-<p><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=4163"
+<p><a href="https://issues.apache.org/jira/browse/SVN-4163"
   >Issue #4163 "merged deletion of switched subtrees records non-inheritable
   mergeinfo"</a>: If a merge deletes the path SS, the desired behaviour
   is currently undefined and the actual behaviour is that a commit will
@@ -473,7 +473,7 @@ command-line could also produce an outpu
 <p>Recent discussion can be found <a
 href="http://subversion.tigris.org/servlets/ReadMsg?listName=dev&amp;msgNo=128233"
 >here</a>.  Development is tracked <a
-href="http://subversion.tigris.org/issues/show_bug.cgi?id=2820">here</a>.</p>
+href="https://issues.apache.org/jira/browse/SVN-2820">here</a>.</p>
 
 <p>The <a href="requirements.html#change-set-availability">Show
 Changesets Blocked from Merging</a> portion of this feature is
@@ -493,7 +493,7 @@ allow for XML-formatted output (for mach
 <p>Recent discussion can be found <a
 href="http://subversion.tigris.org/servlets/ReadMsg?listName=dev&amp;msgNo=128233"
 >here</a>.  Development is tracked <a
-href="http://subversion.tigris.org/issues/show_bug.cgi?id=2835">here</a>.</p>
+href="https://issues.apache.org/jira/browse/SVN-2835">here</a>.</p>
 
 <p>The <a href="requirements.html#find-changeset">Find Paths
 containing Specific Incarnation of Versioned Resource</a> portion of
@@ -951,7 +951,7 @@ here:</p>
   >Original API proposal</a></li>
 </ul>
 
-<p><a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2022"
+<p><a href="https://issues.apache.org/jira/browse/SVN-2022"
 >Issue #2022</a> is loosely related.</p>
 
 <div class="h3" id="distributable-resolution">

Modified: subversion/branches/better-pristines/notes/merge-tracking/requirements.html
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/merge-tracking/requirements.html?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/merge-tracking/requirements.html (original)
+++ subversion/branches/better-pristines/notes/merge-tracking/requirements.html Tue Apr 17 09:19:05 2018
@@ -122,7 +122,7 @@ section).</p>
 
 <p><code>svn merge</code> needs to handle renames better.  This
 requires <a
-href="http://subversion.tigris.org/issues/show_bug.cgi?id=898">true
+href="https://issues.apache.org/jira/browse/SVN-898">true
 rename support</a>.</p>
 
 <p>Edit foo.c on branch A.  Rename foo.c to bar.c on branch B.</p>
@@ -138,7 +138,7 @@ rename support</a>.</p>
 </ol>
 
 <p>Problem #2 stems from the fact that we don't have <a
-href="http://subversion.tigris.org/issues/show_bug.cgi?id=898">true
+href="https://issues.apache.org/jira/browse/SVN-898">true
 renames</a>, just copies (with history) and deletes.  That's not
 fixable without a FS schema change, and (probably) a libsvn_wc
 rewrite.</p>
@@ -372,7 +372,7 @@ some filesystem backend implementation d
 items in the dump as a sort of "soft data" (which would allow them to
 be used for "translating" the merge tracking data at load time, where
 those IDs would be otherwise irrelevant).  See <a
-href="http://subversion.tigris.org/issues/show_bug.cgi?id=1525">issue
+href="https://issues.apache.org/jira/browse/SVN-1525">issue
 1525</a> about user-visible entity IDs.</p>
 
 </div>  <!-- dump-load -->

Modified: subversion/branches/better-pristines/notes/merge-tracking/summit.html
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/merge-tracking/summit.html?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/merge-tracking/summit.html (original)
+++ subversion/branches/better-pristines/notes/merge-tracking/summit.html Tue Apr 17 09:19:05 2018
@@ -166,7 +166,7 @@ the average user needs.</p>
   resources in the first place?  Can this be achieved with a
   finer-grained <code>svn switch</code>?  Note: This is related to the
   shared file storage issue in Subversion's own issue tracker,
-  <a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2286"
+  <a href="https://issues.apache.org/jira/browse/SVN-2286"
       >issue&nbsp;#2286</a>.  It was also expressed at the
   <a
   href="http://svn.apache.org/repos/asf/subversion/trunk/notes/EuroOSCON-2005-vc-bof.txt"

Modified: subversion/branches/better-pristines/notes/obliterate/obliterate-functional-spec.txt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/obliterate/obliterate-functional-spec.txt?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/obliterate/obliterate-functional-spec.txt (original)
+++ subversion/branches/better-pristines/notes/obliterate/obliterate-functional-spec.txt Tue Apr 17 09:19:05 2018
@@ -1021,7 +1021,7 @@ VII. Appendix
 
     1. Link to external documentation
 
-    [1] Issue 516: http://subversion.tigris.org/issues/show_bug.cgi?id=516
+    [1] Issue 516: https://issues.apache.org/jira/browse/SVN-516
     [2] Karl Fogel's proposal to use the replay API and filters:
         http://svn.haxx.se/dev/archive-2008-04/0687.shtml
     [3] Bob Jenkins's thread about "Auditability": keep log of what has been

Modified: subversion/branches/better-pristines/notes/tree-conflicts/design-overview.txt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/tree-conflicts/design-overview.txt?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/tree-conflicts/design-overview.txt (original)
+++ subversion/branches/better-pristines/notes/tree-conflicts/design-overview.txt Tue Apr 17 09:19:05 2018
@@ -246,10 +246,10 @@ Status: incomplete
 
   * Mark as resolved, by command: the basic "svn resolved PARENT" works to some
     extent, but needs attention.
-    Issue #3145 <http://subversion.tigris.org/issues/show_bug.cgi?id=3145>
+    Issue #3145 <https://issues.apache.org/jira/browse/SVN-3145>
 
   * Mark as resolved, interactively: not started.
-    Issue #3144 <http://subversion.tigris.org/issues/show_bug.cgi?id=3144>
+    Issue #3144 <https://issues.apache.org/jira/browse/SVN-3144>
 
 To do:
 

Modified: subversion/branches/better-pristines/notes/tree-conflicts/detection.txt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/tree-conflicts/detection.txt?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/tree-conflicts/detection.txt (original)
+++ subversion/branches/better-pristines/notes/tree-conflicts/detection.txt Tue Apr 17 09:19:05 2018
@@ -8,7 +8,7 @@ in use-cases.txt, for both files and dir
 
 Issue reference:
 
-  http://subversion.tigris.org/issues/show_bug.cgi?id=2282
+  https://issues.apache.org/jira/browse/SVN-2282
 
 ==========
 USE CASE 1

Modified: subversion/branches/better-pristines/notes/tree-conflicts/use-cases.txt
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/notes/tree-conflicts/use-cases.txt?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/notes/tree-conflicts/use-cases.txt (original)
+++ subversion/branches/better-pristines/notes/tree-conflicts/use-cases.txt Tue Apr 17 09:19:05 2018
@@ -3,8 +3,8 @@
               TREE CONFLICTS USE CASES AND DESIRED BEHAVIOURS
 
 
-Issue reference:  http://subversion.tigris.org/issues/show_bug.cgi?id=2282
-                  http://subversion.tigris.org/issues/show_bug.cgi?id=3630
+Issue reference:  https://issues.apache.org/jira/browse/SVN-2282
+                  https://issues.apache.org/jira/browse/SVN-3630
 
 These use cases are based on a scenario paper "SVN move/rename
 problems & suggested improvements" submitted by a corporate Subversion

Modified: subversion/branches/better-pristines/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp Tue Apr 17 09:19:05 2018
@@ -173,7 +173,10 @@ public:
     {
       Iterator iter(get_iterator());
       while (iter.has_next())
-        function(T(m_env, NativeT(iter.next())));
+        {
+          ::Java::LocalFrame frame(m_env);
+          function(T(m_env, NativeT(iter.next())));
+        }
       return function;
     }
 };

Modified: subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Tue Apr 17 09:19:05 2018
@@ -3930,7 +3930,7 @@ public class BasicTests extends SVNTests
     /*
       This is currently commented out, because we don't have an XFail method
       for JavaHL.  The resolution is pending the result of issue #3680:
-      http://subversion.tigris.org/issues/show_bug.cgi?id=3680
+      https://issues.apache.org/jira/browse/SVN-3680
 
     public void testObstructionTolerance()
             throws SubversionException, IOException

Modified: subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/better-pristines/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Tue Apr 17 09:19:05 2018
@@ -3066,7 +3066,7 @@ public class BasicTests extends SVNTests
     /*
       This is currently commented out, because we don't have an XFail method
       for JavaHL.  The resolution is pending the result of issue #3680:
-      http://subversion.tigris.org/issues/show_bug.cgi?id=3680
+      https://issues.apache.org/jira/browse/SVN-3680
     public void testObstructionTolerance()
             throws SubversionException, IOException
     {

Modified: subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_client.rb
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_client.rb?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_client.rb (original)
+++ subversion/branches/better-pristines/subversion/bindings/swig/ruby/test/test_client.rb Tue Apr 17 09:19:05 2018
@@ -1087,7 +1087,7 @@ class SvnClientTest < Test::Unit::TestCa
   We haven't yet figured out what to expect in the case of an obstruction,
   but it is no longer an error.  Commenting out this test until that
   decision is made (see issue #3680:
-  http://subversion.tigris.org/issues/show_bug.cgi?id=3680)
+  https://issues.apache.org/jira/browse/SVN-3680)
 
   def test_cleanup
     log = "sample log"

Modified: subversion/branches/better-pristines/subversion/include/private/svn_sorts_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_sorts_private.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_sorts_private.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_sorts_private.h Tue Apr 17 09:19:05 2018
@@ -190,7 +190,7 @@ svn_priority_queue__size(svn_priority_qu
 
 /**
  * Returns a reference to the first element in the @a queue.  The queue
- * contents remains unchanged.  If the @a queue is empty, #NULL will be
+ * contents remains unchanged.  If the @a queue is empty, NULL will be
  * returned.
  */
 void *
@@ -212,7 +212,7 @@ svn_priority_queue__pop(svn_priority_que
 
 /**
  * Append the new @a element to the @a queue.  @a element must neither be
- * #NULL nor the first element as returned by #svn_priority_queue__peek.
+ * NULL nor the first element as returned by #svn_priority_queue__peek.
  */
 void
 svn_priority_queue__push(svn_priority_queue__t *queue, const void *element);

Modified: subversion/branches/better-pristines/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_subr_private.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_subr_private.h Tue Apr 17 09:19:05 2018
@@ -389,27 +389,27 @@ svn_hash__make(apr_pool_t *pool);
 
 /** Struct that represents a key value pair read from a serialized hash
  * representation.  There are special cases that can also be represented:
- * a #NULL @a key signifies the end of the hash, a #NULL @a val for non-
+ * a NULL @a key signifies the end of the hash, a NULL @a val for non-
  * NULL keys is only possible in incremental mode describes a deletion.
  *
  * @since New in 1.9.
  */
 typedef struct svn_hash__entry_t
 {
-  /** 0-terminated Key.  #NULL if this contains no data at all because we
+  /** 0-terminated Key.  NULL if this contains no data at all because we
    * encountered the end of the hash. */
   char *key;
 
-  /** Length of @a key.  Must be 0 if @a key is #NULL. */
+  /** Length of @a key.  Must be 0 if @a key is NULL. */
   apr_size_t keylen;
 
-  /** 0-terminated value stored with the key.  If this is #NULL for a
+  /** 0-terminated value stored with the key.  If this is NULL for a
    * non-NULL @a key, then this means that the key shall be removed from
-   * the hash (only used in incremental mode).  Must be #NULL if @a key is
-   * #NULL. */
+   * the hash (only used in incremental mode).  Must be NULL if @a key is
+   * NULL. */
   char *val;
 
-  /** Length of @a val.  Must be 0 if @a val is #NULL. */
+  /** Length of @a val.  Must be 0 if @a val is NULL. */
   apr_size_t vallen;
 } svn_hash__entry_t;
 

Modified: subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/better-pristines/subversion/include/private/svn_wc_private.h Tue Apr 17 09:19:05 2018
@@ -537,7 +537,7 @@ svn_wc__node_get_origin(svn_boolean_t *i
  * If @a base_only is TRUE then only the base node will be examined,
  * otherwise the current base or working node will be examined.
  *
- * If a value is not interesting you can pass #NULL.
+ * If a value is not interesting you can pass NULL.
  *
  * If @a local_abspath is not in the working copy, return
  * @c SVN_ERR_WC_PATH_NOT_FOUND.  Use @a scratch_pool for all temporary

Modified: subversion/branches/better-pristines/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_client.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_client.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_client.h Tue Apr 17 09:19:05 2018
@@ -500,7 +500,7 @@ typedef struct svn_client_commit_item3_t
    * contents in @c incoming_prop_changes->pool, so that it has the
    * same lifetime as this data structure.
    *
-   * See http://subversion.tigris.org/issues/show_bug.cgi?id=806 for a
+   * See https://issues.apache.org/jira/browse/SVN-806 for a
    * description of what would happen if the post-commit process
    * didn't group these changes together with all other changes to the
    * item.
@@ -520,7 +520,7 @@ typedef struct svn_client_commit_item3_t
 
   /**
    * When processing the commit this contains the relative path for
-   * the commit session. #NULL until the commit item is preprocessed.
+   * the commit session. NULL until the commit item is preprocessed.
    * @since New in 1.7.
    */
   const char *session_relpath;
@@ -1572,6 +1572,38 @@ svn_client_switch(svn_revnum_t *result_r
 
 /** @} */
 
+/** Callback for svn_client_layout_list()
+ *
+ * @warning EXPERIMENTAL.
+ */
+typedef svn_error_t * (*svn_client_layout_func_t)(
+                            void *layout_baton,
+                            const char *local_abspath,
+                            const char *repos_root_url,
+                            svn_boolean_t not_present,
+                            svn_boolean_t url_changed,
+                            const char *url,
+                            svn_boolean_t revision_changed,
+                            svn_revnum_t revision,
+                            svn_boolean_t depth_changed,
+                            svn_depth_t depth,
+                            apr_pool_t *scratch_pool);
+
+/**
+ * Describe the layout of the working copy below @a local_abspath to
+ * the callback @a layout.
+ *
+ * @warning EXPERIMENTAL.
+ */
+/*SVN_EXPERIMENTAL*/ /*commented out during development to avoid a warning*/
+svn_error_t *
+svn_client_layout_list(const char *local_abspath,
+                       svn_client_layout_func_t layout,
+                       void *layout_baton,
+                       svn_client_ctx_t *ctx,
+                       apr_pool_t *scratch_pool);
+
+
 /**
  * @defgroup Add Begin versioning files/directories in a working copy.
  *
@@ -3092,9 +3124,10 @@ svn_client_blame(const char *path_or_url
  *
  * Generated headers are encoded using @a header_encoding.
  *
- * Diff output will not be generated for binary files, unless @a
- * ignore_content_type is TRUE, in which case diffs will be shown
- * regardless of the content types.
+ * If either side has an svn:mime-type property that indicates 'binary'
+ * content, then if @a ignore_content_type is set, attempt to produce the
+ * diff in the usual way, otherwise produce a 'GIT binary diff' in git mode
+ * or print a warning message in non-git mode.
  *
  * @a diff_options (an array of <tt>const char *</tt>) is used to pass
  * additional command line options to the diff processes invoked to compare
@@ -4438,7 +4471,7 @@ svn_client_relocate(const char *dir,
  * then do not error, just invoke @a ctx->notify_func2 with @a
  * ctx->notify_baton2, using notification code #svn_wc_notify_skip.
  *
- * @warn The 'revert' command intentionally and permanently loses
+ * @warning The 'revert' command intentionally and permanently loses
  * local modifications.
  *
  * @since New in 1.11.
@@ -4733,7 +4766,7 @@ typedef svn_error_t *(*svn_client_confli
 
 /**
  * Walk all conflicts within the specified @a depth of @a local_abspath.
- * Pass each conflict found during the walk to the @conflict_walk_func
+ * Pass each conflict found during the walk to the @a conflict_walk_func
  * callback, along with @a conflict_walk_func_baton.
  * Use cancellation and notification support provided by client context @a ctx.
  * 
@@ -5031,7 +5064,7 @@ svn_client_conflict_get_repos_info(const
  * Any output parameter may be set to @c NULL by the caller to indicate that
  * a particular piece of information should not be returned.
  *
- * In case of tree conflicts, this path@revision does not necessarily exist
+ * In case of tree conflicts, this "path@revision" does not necessarily exist
  * in the repository, and it does not necessarily represent the incoming
  * change which is responsible for the occurance of the tree conflict.
  * The responsible incoming change is generally located somewhere between
@@ -6880,7 +6913,7 @@ typedef struct svn_client_shelf_t
 {
     /* Public fields (read-only for public use) */
     const char *name;
-    int max_version;
+    int max_version;  /** @deprecated */
 
     /* Private fields */
     const char *wc_root_abspath;
@@ -6901,8 +6934,9 @@ typedef struct svn_client_shelf_version_
   svn_client_shelf_t *shelf;
   apr_time_t mtime;  /** time-stamp of this version */
 
-  /* TODO: these should be Private fields */
+  /* Private fields */
   const char *patch_abspath;  /** abspath of the patch file */
+  int version_number;  /** version number starting from 1 */
 } svn_client_shelf_version_t;
 
 /** Open an existing shelf or create a new shelf.
@@ -6972,37 +7006,72 @@ svn_client_shelf_delete(const char *name
 /** Save the local modifications found by @a paths, @a depth,
  * @a changelists as a new version of @a shelf.
  *
+ * Return the new shelf-version in @a *new_version_p.
+ *
  * @a paths are relative to the CWD, or absolute.
  *
  * If there are no local modifications in the specified locations, do not
- * create a new version of @a shelf, and return SVN_NO_ERROR. In this case
- * @a shelf->max_version after the call is the same as before the call.
+ * create a new version of @a shelf; set @a *new_version_p to null and
+ * return SVN_NO_ERROR. In this case @a shelf->max_version after the call
+ * is the same as before the call.
+ *
+ * @a *new_version_p may be null if that output is not wanted.
  *
  * @since New in 1.X.
  * @warning EXPERIMENTAL.
  */
 SVN_EXPERIMENTAL
 svn_error_t *
+svn_client_shelf_save_new_version2(svn_client_shelf_version_t **new_version_p,
+                                   svn_client_shelf_t *shelf,
+                                   const apr_array_header_t *paths,
+                                   svn_depth_t depth,
+                                   const apr_array_header_t *changelists,
+                                   apr_pool_t *scratch_pool);
+
+/** @deprecated Use svn_client_shelf_save_new_version2() instead.
+ * @warning EXPERIMENTAL.
+ */
+SVN_DEPRECATED
+svn_error_t *
 svn_client_shelf_save_new_version(svn_client_shelf_t *shelf,
                                   const apr_array_header_t *paths,
                                   svn_depth_t depth,
                                   const apr_array_header_t *changelists,
                                   apr_pool_t *scratch_pool);
 
-/** Set the newest version of @a shelf to @a version.
+/** Delete all newer versions of @a shelf newer than @a shelf_version.
+ *
+ * If @a shelf_version is null, delete all versions of @a shelf. (The
+ * shelf will still exist, with any log message and other revprops, but
+ * with no versions in it.)
  *
- * Delete all newer versions.
+ * Leave the shelf's log message and other revprops unchanged.
+ *
+ * Any #svn_client_shelf_version_t object that refers to a deleted version
+ * will become invalid: attempting to use it will give undefined behaviour.
+ * The given @a shelf_version will remain valid.
  *
  * @since New in 1.X.
  * @warning EXPERIMENTAL.
  */
 SVN_EXPERIMENTAL
 svn_error_t *
+svn_client_shelf_delete_newer_versions(svn_client_shelf_t *shelf,
+                                       svn_client_shelf_version_t *shelf_version,
+                                       apr_pool_t *scratch_pool);
+
+/** @deprecated Use svn_client_shelf_delete_newer_versions() instead.
+ * @warning EXPERIMENTAL.
+ */
+SVN_DEPRECATED
+svn_error_t *
 svn_client_shelf_set_current_version(svn_client_shelf_t *shelf,
-                                     int version,
+                                     int version_number,
                                      apr_pool_t *scratch_pool);
 
-/** Open an existing @a shelf_version, or error if it doesn't exist.
+/** Return in @a shelf_version an existing version of @a shelf, given its
+ * @a version_number. Error if that version doesn't exist.
  *
  * There is no need to "close" it after use.
  *
@@ -7013,12 +7082,45 @@ SVN_EXPERIMENTAL
 svn_error_t *
 svn_client_shelf_version_open(svn_client_shelf_version_t **shelf_version_p,
                               svn_client_shelf_t *shelf,
-                              int version,
+                              int version_number,
                               apr_pool_t *result_pool,
                               apr_pool_t *scratch_pool);
 
+/** Return in @a shelf_version the newest version of @a shelf.
+ *
+ * Set @a shelf_version to null if no versions exist.
+ *
+ * @since New in 1.X.
+ * @warning EXPERIMENTAL.
+ */
+SVN_EXPERIMENTAL
+svn_error_t *
+svn_client_shelf_get_newest_version(svn_client_shelf_version_t **shelf_version_p,
+                                    svn_client_shelf_t *shelf,
+                                    apr_pool_t *result_pool,
+                                    apr_pool_t *scratch_pool);
+
+/** Return in @a versions_p an array of (#svn_client_shelf_version_t *)
+ * containing all versions of @a shelf.
+ *
+ * The versions will be in chronological order, oldest to newest.
+ *
+ * @since New in 1.X.
+ * @warning EXPERIMENTAL.
+ */
+SVN_EXPERIMENTAL
+svn_error_t *
+svn_client_shelf_get_all_versions(apr_array_header_t **versions_p,
+                                  svn_client_shelf_t *shelf,
+                                  apr_pool_t *result_pool,
+                                  apr_pool_t *scratch_pool);
+
 /** Apply @a shelf_version to the WC.
  *
+ * If @a dry_run is true, try applying the shelf-version to the WC and
+ * report the full set of notifications about successes and conflicts,
+ * but leave the WC untouched.
+ *
  * @since New in 1.X.
  * @warning EXPERIMENTAL.
  */
@@ -7028,27 +7130,49 @@ svn_client_shelf_apply(svn_client_shelf_
                        svn_boolean_t dry_run,
                        apr_pool_t *scratch_pool);
 
-/** Reverse-apply @a shelf_version to the WC.
+/** Test whether we can successfully apply the patch for @a file_relpath
+ * in @a shelf_version to the WC.
+ *
+ * Try applying the shelf-version to the WC and set @a *conflict_p to
+ * true if any conflict occurs, else to false.
+ *
+ * If @a file_relpath is not found in @a shelf_version, set @a *conflict_p
+ * to FALSE.
+ *
+ * @a file_relpath is relative to the WC root.
+ *
+ * A conflict means the shelf cannot be applied successfully to the WC
+ * because the change to be applied is not compatible with the current
+ * working state of the WC file. Examples are a text conflict, or the
+ * file does not exist or is a directory, or the shelf is trying to add
+ * the file but it already exists, or trying to delete it but it does not
+ * exist.
+ *
+ * Return an error only if something is broken, e.g. unable to read data
+ * from the specified shelf-version.
+ *
+ * Leave the WC untouched.
  *
  * @since New in 1.X.
  * @warning EXPERIMENTAL.
  */
 SVN_EXPERIMENTAL
 svn_error_t *
-svn_client_shelf_unapply(svn_client_shelf_version_t *shelf_version,
-                         svn_boolean_t dry_run,
-                         apr_pool_t *scratch_pool);
+svn_client_shelf_test_apply_file(svn_boolean_t *conflict_p,
+                                 svn_client_shelf_version_t *shelf_version,
+                                 const char *file_relpath,
+                                 apr_pool_t *scratch_pool);
 
-/** Set @a *patch_abspath to the patch file path of @a shelf_version.
+/** Reverse-apply @a shelf_version to the WC.
  *
  * @since New in 1.X.
  * @warning EXPERIMENTAL.
  */
 SVN_EXPERIMENTAL
 svn_error_t *
-svn_client_shelf_get_patch_abspath(const char **patch_abspath,
-                                   svn_client_shelf_version_t *shelf_version,
-                                   apr_pool_t *scratch_pool);
+svn_client_shelf_unapply(svn_client_shelf_version_t *shelf_version,
+                         svn_boolean_t dry_run,
+                         apr_pool_t *scratch_pool);
 
 /** Output @a shelf_version as a patch to @a outstream.
  *

Modified: subversion/branches/better-pristines/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_fs.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_fs.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_fs.h Tue Apr 17 09:19:05 2018
@@ -1744,7 +1744,7 @@ svn_fs_paths_changed3(svn_fs_path_change
  *
  * Use @a pool for all allocations, including the hash and its values.
  *
- * @note Retrieving the #node_rev_id element of #svn_fs_path_change2_t may
+ * @note Retrieving the #svn_fs_path_change2_t.node_rev_id element may
  *       be expensive in some FS backends.
  *
  * @since New in 1.6.
@@ -2492,7 +2492,7 @@ svn_fs_file_md5_checksum(unsigned char d
  * svn_fs_file_contents().  In that case, the result of reading from
  * @a *contents is undefined.
  *
- * ### @todo kff: I am worried about lifetime issues with this pool vs
+ * @todo kff: I am worried about lifetime issues with this pool vs
  * the trail created farther down the call stack.  Trace this function
  * to investigate...
  */

Modified: subversion/branches/better-pristines/subversion/include/svn_opt.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_opt.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_opt.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_opt.h Tue Apr 17 09:19:05 2018
@@ -113,6 +113,7 @@ typedef struct svn_opt_subcommand_desc3_
 /** One element of a subcommand dispatch table.
  *
  * @since New in 1.4.
+ * @deprecated Provided for backward compatibility with the 1.10 API.
  */
 typedef struct svn_opt_subcommand_desc2_t
 {
@@ -186,7 +187,9 @@ svn_opt_get_canonical_subcommand3(const
  * version of the subcommand description table.
  *
  * @since New in 1.4.
+ * @deprecated Provided for backward compatibility with the 1.10 API.
  */
+SVN_DEPRECATED
 const svn_opt_subcommand_desc2_t *
 svn_opt_get_canonical_subcommand2(const svn_opt_subcommand_desc2_t *table,
                                   const char *cmd_name);
@@ -229,7 +232,9 @@ svn_opt_get_option_from_code3(int code,
  * version of the subcommand description table.
  *
  * @since New in 1.4.
+ * @deprecated Provided for backward compatibility with the 1.10 API.
  */
+SVN_DEPRECATED
 const apr_getopt_option_t *
 svn_opt_get_option_from_code2(int code,
                               const apr_getopt_option_t *option_table,
@@ -268,7 +273,9 @@ svn_opt_subcommand_takes_option4(const s
  * version of the subcommand description table.
  *
  * @since New in 1.5.
+ * @deprecated Provided for backward compatibility with the 1.10 API.
  */
+SVN_DEPRECATED
 svn_boolean_t
 svn_opt_subcommand_takes_option3(const svn_opt_subcommand_desc2_t *command,
                                  int option_code,
@@ -304,7 +311,7 @@ svn_opt_subcommand_takes_option(const sv
 /**
  * Print a generic (not command-specific) usage message to @a stream.
  *
- * ### @todo Why is @a stream a stdio file instead of an svn stream?
+ * @todo Why is @a stream a stdio file instead of an svn stream?
  *
  * If @a header is non-NULL, print @a header followed by a newline.  Then
  * loop over @a cmd_table printing the usage for each command (getting
@@ -328,7 +335,9 @@ svn_opt_print_generic_help3(const char *
  * version of the subcommand description table.
  *
  * @since New in 1.4.
+ * @deprecated Provided for backward compatibility with the 1.10 API.
  */
+SVN_DEPRECATED
 void
 svn_opt_print_generic_help2(const char *header,
                             const svn_opt_subcommand_desc2_t *cmd_table,
@@ -394,7 +403,9 @@ svn_opt_subcommand_help4(const char *sub
  * version of the subcommand description table.
  *
  * @since New in 1.5.
+ * @deprecated Provided for backward compatibility with the 1.10 API.
  */
+SVN_DEPRECATED
 void
 svn_opt_subcommand_help3(const char *subcommand,
                          const svn_opt_subcommand_desc2_t *table,
@@ -817,7 +828,9 @@ svn_opt_print_help5(apr_getopt_t *os,
  * version of the subcommand description table.
  *
  * @since New in 1.8.
+ * @deprecated Provided for backward compatibility with the 1.10 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_opt_print_help4(apr_getopt_t *os,
                     const char *pgm_name,

Modified: subversion/branches/better-pristines/subversion/include/svn_props.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_props.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_props.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_props.h Tue Apr 17 09:19:05 2018
@@ -415,19 +415,26 @@ svn_prop_name_is_valid(const char *prop_
 /** Describes external items to check out into this directory.
  *
  * The format is a series of lines, each in the following format:
- *   [-r REV] URL[@PEG] LOCALPATH
+ *
+ *     [-r REV] URL[@PEG] LOCALPATH
+ *
  * LOCALPATH is relative to the directory having this property.
  * REV pins the external to revision REV.
  * URL may be a full URL or a relative URL starting with one of:
- *   ../  to the parent directory of the extracted external
- *   ^/   to the repository root
- *   /    to the server root
- *   //   to the URL scheme
+ *
+ *     ../  to the parent directory of the extracted external
+ *     ^/   to the repository root
+ *     /    to the server root
+ *     //   to the URL scheme
+ *
  * The following format is supported for interoperability with
  * Subversion 1.4 and earlier clients:
- *   LOCALPATH [-r PEG] URL
+ *
+ *     LOCALPATH [-r PEG] URL
+ *
  * The ambiguous format 'relative_path relative_path' is taken as
  * 'relative_url relative_path' with peg revision support.
+ *
  * Lines starting with a '#' character are ignored.
  */
 #define SVN_PROP_EXTERNALS  SVN_PROP_PREFIX "externals"

Modified: subversion/branches/better-pristines/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_ra.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_ra.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_ra.h Tue Apr 17 09:19:05 2018
@@ -555,9 +555,9 @@ typedef struct svn_ra_callbacks2_t
 
   /** Fetch working copy properties.
    *
-   *<pre> ### we might have a problem if the RA layer ever wants a property
-   * ### that corresponds to a different revision of the file than
-   * ### what is in the WC. we'll cross that bridge one day...</pre>
+   * @note we might have a problem if the RA layer ever wants a property
+   *       that corresponds to a different revision of the file than
+   *       what is in the WC. we'll cross that bridge one day...
    */
   svn_ra_get_wc_prop_func_t get_wc_prop;
 
@@ -1857,7 +1857,7 @@ svn_ra_get_location_segments(svn_ra_sess
  * @note Prior to Subversion 1.9, this function may request delta handlers
  * from @a handler even for empty text deltas.  Starting with 1.9, the
  * delta handler / baton return arguments passed to @a handler will be
- * #NULL unless there is an actual difference in the file contents between
+ * NULL unless there is an actual difference in the file contents between
  * the current and the previous call.
  *
  * @since New in 1.5.

Modified: subversion/branches/better-pristines/subversion/include/svn_ra_svn.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_ra_svn.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_ra_svn.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_ra_svn.h Tue Apr 17 09:19:05 2018
@@ -179,7 +179,9 @@ typedef svn_error_t *(*svn_ra_svn_edit_c
  *
  * Either @a sock or @a in_stream/@a out_stream must be set, not both.
  * @a compression_level specifies the desired network data compression
- * level (zlib/lz4) from 0 (no compression) to 9 (best but slowest).
+ * level from 0 (no compression) to 9 (best but slowest). The effect
+ * of the parameter depends on the compression algorithm; for example,
+ * it is used verbatim by zlib/deflate but ignored by LZ4.
  *
  * If @a zero_copy_limit is not 0, cached file contents smaller than the
  * given limit may be sent directly to the network socket.  Otherwise,

Modified: subversion/branches/better-pristines/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_repos.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_repos.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_repos.h Tue Apr 17 09:19:05 2018
@@ -861,7 +861,7 @@ typedef svn_error_t *(*svn_repos_freeze_
  * @since New in 1.8.
  */
 svn_error_t *
-svn_repos_freeze(apr_array_header_t *paths,
+svn_repos_freeze(const apr_array_header_t *paths,
                  svn_repos_freeze_func_t freeze_func,
                  void *freeze_baton,
                  apr_pool_t *pool);
@@ -2404,7 +2404,7 @@ svn_repos_fs_get_mergeinfo(svn_mergeinfo
  * @note Prior to Subversion 1.9, this function may request delta handlers
  * from @a handler even for empty text deltas.  Starting with 1.9, the
  * delta handler / baton return arguments passed to @a handler will be
- * #NULL unless there is an actual difference in the file contents between
+ * NULL unless there is an actual difference in the file contents between
  * the current and the previous call.
  *
  * @since New in 1.5.
@@ -3803,7 +3803,7 @@ typedef struct svn_repos_parse_fns3_t
  *
  * @since New in 1.8.
 
- * @since Starting in 1.10, @a parse_fns may contain #NULL pointers for
+ * @since Starting in 1.10, @a parse_fns may contain NULL pointers for
  * those callbacks that the caller is not interested in.
  */
 svn_error_t *

Modified: subversion/branches/better-pristines/subversion/include/svn_utf.h
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/include/svn_utf.h?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/include/svn_utf.h (original)
+++ subversion/branches/better-pristines/subversion/include/svn_utf.h Tue Apr 17 09:19:05 2018
@@ -212,7 +212,7 @@ svn_utf_cstring_from_utf8_ex(const char
  * so when we can detect that at configure time, things will change.
  * Also, this should (?) be moved to apr/apu eventually.
  *
- * See http://subversion.tigris.org/issues/show_bug.cgi?id=807 for
+ * See https://issues.apache.org/jira/browse/SVN-807 for
  * details.
  */
 const char *

Modified: subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_client/conflicts.c Tue Apr 17 09:19:05 2018
@@ -255,7 +255,7 @@ struct repos_move_info {
   /* The revision in which this move was committed. */
   svn_revnum_t rev;
 
-  /* The author who commited the revision in which this move was committed. */
+  /* The author who committed the revision in which this move was committed. */
   const char *rev_author;
 
   /* The repository relpath the node was moved from in this revision. */
@@ -5944,8 +5944,11 @@ describe_incoming_edit_list_modified_rev
             {
               if (i == edits->nelts - (max_revs_to_display / 2))
                   s = apr_psprintf(result_pool,
-                                   _("%s\n [%d revisions omitted for "
-                                     "brevity],\n"),
+                                   Q_("%s\n [%d revision omitted for "
+                                      "brevity],\n",
+                                      "%s\n [%d revisions omitted for "
+                                      "brevity],\n",
+                                      num_revs_to_skip),
                                    s, num_revs_to_skip);
 
               s = apr_psprintf(result_pool, _("%s r%ld by %s%s"), s,

Modified: subversion/branches/better-pristines/subversion/libsvn_client/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/better-pristines/subversion/libsvn_client/deprecated.c?rev=1829347&r1=1829346&r2=1829347&view=diff
==============================================================================
--- subversion/branches/better-pristines/subversion/libsvn_client/deprecated.c (original)
+++ subversion/branches/better-pristines/subversion/libsvn_client/deprecated.c Tue Apr 17 09:19:05 2018
@@ -1726,7 +1726,7 @@ svn_client_log(const apr_array_header_t
    * we just invoke the receiver manually on a hand-constructed log
    * message for revision 0.
    *
-   * See also http://subversion.tigris.org/issues/show_bug.cgi?id=692.
+   * See also https://issues.apache.org/jira/browse/SVN-692.
    */
   if (err && (err->apr_err == SVN_ERR_FS_NO_SUCH_REVISION)
       && (start->kind == svn_opt_revision_head)