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 2017/10/31 09:40:00 UTC

svn commit: r1813860 [1/8] - in /subversion/branches/shelve-checkpoint: ./ build/ build/generator/ notes/commit-access-templates/ subversion/bindings/javahl/native/ subversion/bindings/swig/include/ subversion/include/ subversion/include/private/ subve...

Author: julianfoad
Date: Tue Oct 31 09:39:59 2017
New Revision: 1813860

URL: http://svn.apache.org/viewvc?rev=1813860&view=rev
Log:
On the 'shelve-checkpoint' branch: catch up with ^/subversion/branches/shelve@1813857.

Added:
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/LICENSE.md
      - copied unchanged from r1813857, subversion/branches/shelve/subversion/libsvn_subr/utf8proc/LICENSE.md
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/NEWS.md
      - copied unchanged from r1813857, subversion/branches/shelve/subversion/libsvn_subr/utf8proc/NEWS.md
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/README.md
      - copied unchanged from r1813857, subversion/branches/shelve/subversion/libsvn_subr/utf8proc/README.md
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/lump.md
      - copied unchanged from r1813857, subversion/branches/shelve/subversion/libsvn_subr/utf8proc/lump.md
Removed:
    subversion/branches/shelve-checkpoint/notes/commit-access-templates/contrib-committer.tmpl
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/LICENSE
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/README
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/format_12a.tar.bz2
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/format_12b.tar.bz2
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/format_13.tar.bz2
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/format_14.tar.bz2
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/format_15.tar.bz2
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/format_16.tar.bz2
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/format_28.tar.bz2
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests_data/upgrade_tc.tar.bz2
Modified:
    subversion/branches/shelve-checkpoint/   (props changed)
    subversion/branches/shelve-checkpoint/CHANGES
    subversion/branches/shelve-checkpoint/COMMITTERS
    subversion/branches/shelve-checkpoint/build/generator/gen_win_dependencies.py
    subversion/branches/shelve-checkpoint/build/run_tests.py
    subversion/branches/shelve-checkpoint/configure.ac
    subversion/branches/shelve-checkpoint/notes/commit-access-templates/partial-committer.tmpl
    subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/SVNRepos.cpp
    subversion/branches/shelve-checkpoint/subversion/bindings/swig/include/svn_types.swg
    subversion/branches/shelve-checkpoint/subversion/include/private/svn_repos_private.h
    subversion/branches/shelve-checkpoint/subversion/include/private/svn_subr_private.h
    subversion/branches/shelve-checkpoint/subversion/include/private/svn_utf_private.h
    subversion/branches/shelve-checkpoint/subversion/include/private/svn_wc_private.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_client.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_delta.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_error_codes.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h
    subversion/branches/shelve-checkpoint/subversion/include/svn_string.h
    subversion/branches/shelve-checkpoint/subversion/libsvn_client/conflicts.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_client/diff.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_client/list.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_client/shelve.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_ra_serf/merge.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_repos/deprecated.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_repos/dump.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_repos/fs-wrap.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_repos/hooks.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_repos/list.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_repos/load-fs-vtable.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_repos/reporter.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/config_win.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/deprecated.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/io.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/lz4/lz4.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/mergeinfo.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/spillbuf.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/sqlite3wrapper.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/string.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/   (props changed)
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/utf8proc.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/utf8proc_data.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/utf8proc/utf8proc_internal.h
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/version.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/win32_crashrpt.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/win32_crypto.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/win32_xlate.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_subr/x509parse.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_wc/conflicts.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_wc/upgrade.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_wc/wc-metadata.sql
    subversion/branches/shelve-checkpoint/subversion/libsvn_wc/wc-queries.sql
    subversion/branches/shelve-checkpoint/subversion/libsvn_wc/wc_db.c
    subversion/branches/shelve-checkpoint/subversion/libsvn_wc/wc_db.h
    subversion/branches/shelve-checkpoint/subversion/libsvn_wc/wcroot_anchor.c
    subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/merge.c
    subversion/branches/shelve-checkpoint/subversion/mod_dav_svn/mod_dav_svn.c
    subversion/branches/shelve-checkpoint/subversion/svn/shelve-cmd.c
    subversion/branches/shelve-checkpoint/subversion/svn/svn.c
    subversion/branches/shelve-checkpoint/subversion/svnadmin/svnadmin.c
    subversion/branches/shelve-checkpoint/subversion/svndumpfilter/svndumpfilter.c
    subversion/branches/shelve-checkpoint/subversion/svnrdump/load_editor.c
    subversion/branches/shelve-checkpoint/subversion/svnrdump/svnrdump.h
    subversion/branches/shelve-checkpoint/subversion/svnrdump/util.c
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/basic_tests.py
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/davautocheck.sh
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/diff_tests.py
    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_log_switch_stdout
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/getopt_tests_data/svn_help_stdout
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/svnadmin_tests.py
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/svntest/actions.py
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/svntest/verify.py
    subversion/branches/shelve-checkpoint/subversion/tests/cmdline/upgrade_tests.py
    subversion/branches/shelve-checkpoint/subversion/tests/libsvn_client/conflicts-test.c
    subversion/branches/shelve-checkpoint/subversion/tests/libsvn_repos/dump-load-test.c
    subversion/branches/shelve-checkpoint/subversion/tests/libsvn_subr/string-test.c
    subversion/branches/shelve-checkpoint/subversion/tests/libsvn_wc/utils.c
    subversion/branches/shelve-checkpoint/subversion/tests/libsvn_wc/wc-queries-test.c
    subversion/branches/shelve-checkpoint/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
    subversion/branches/shelve-checkpoint/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
    subversion/branches/shelve-checkpoint/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
    subversion/branches/shelve-checkpoint/tools/client-side/bash_completion
    subversion/branches/shelve-checkpoint/tools/dev/svnmover/svnmover.c
    subversion/branches/shelve-checkpoint/tools/dev/unix-build/Makefile.svn
    subversion/branches/shelve-checkpoint/tools/dist/templates/rc-release-ann.ezt

Propchange: subversion/branches/shelve-checkpoint/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Oct 31 09:39:59 2017
@@ -75,7 +75,7 @@
 /subversion/branches/revprop-cache:1298521-1326293
 /subversion/branches/revprop-caching-ng:1620597,1620599
 /subversion/branches/revprop-packing:1143907,1143971,1143997,1144017,1144499,1144568,1146145
-/subversion/branches/shelve:1802592-1806005
+/subversion/branches/shelve:1802592-1813857
 /subversion/branches/subtree-mergeinfo:876734-878766
 /subversion/branches/svn-auth-x509:1603509-1655900
 /subversion/branches/svn-info-detail:1660035-1662618
@@ -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-1806000
+/subversion/trunk:1801593-1813856

Modified: subversion/branches/shelve-checkpoint/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/CHANGES?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/CHANGES (original)
+++ subversion/branches/shelve-checkpoint/CHANGES Tue Oct 31 09:39:59 2017
@@ -13,6 +13,7 @@ the 1.9 release:  https://subversion.apa
     * 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-revprops' subcommand (r1694191)
     * New 'svnadmin dump-revprops' subcommand (r1694225)
     * New '--no-flush-to-disk' option for 'svnadmin load' (r1736357, -7357)
@@ -20,6 +21,7 @@ the 1.9 release:  https://subversion.apa
     * New '--max-request-size' option for svnserve (r1714330)
     * New '--max-response-size' option for svnserve (r1714333)
     * 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)

Modified: subversion/branches/shelve-checkpoint/COMMITTERS
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/COMMITTERS?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/COMMITTERS [UTF-8] (original)
+++ subversion/branches/shelve-checkpoint/COMMITTERS [UTF-8] Tue Oct 31 09:39:59 2017
@@ -103,6 +103,7 @@ Commit access for specific areas:
        rschupp   Roderich Schupp <ro...@gmail.com> (Swig bindings)
         stilor   Alexey Neyman <st...@att.net>              (Python bindings,
                                                              svn-vendor.py)
+  troycurtisjr   Troy Curtis, Jr <tr...@gmail.com>    (Swig bindings)
 
   Packages:
 
@@ -168,6 +169,7 @@ Commit access for specific areas:
       prabhugs   Prabhu Gnana Sundar <pp...@gmail.com>   (verify-keep-going)
         schabi   Markus Schaber <sc...@apache.org>          (testsuite)
            gbg   Gabriela Gibson <ga...@gmail.com> (gtest)
+     lyalyakin   Pavel Lyalyakin <pa...@visualsvn.com> (site)
 
   Translation of message files:
 

Modified: subversion/branches/shelve-checkpoint/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/build/generator/gen_win_dependencies.py?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/build/generator/gen_win_dependencies.py (original)
+++ subversion/branches/shelve-checkpoint/build/generator/gen_win_dependencies.py Tue Oct 31 09:39:59 2017
@@ -263,7 +263,7 @@ class GenDependenciesBase(gen_base.Gener
         elif val == '2017' or val == '15':
           self.vs_version = '2017'
           self.sln_version = '12.00'
-          self.vcproj_version = '15.0'
+          self.vcproj_version = '14.1'
           self.vcproj_extension = '.vcxproj'
         elif re.match('^20\d+$', val):
           print('WARNING: Unknown VS.NET version "%s",'

Modified: subversion/branches/shelve-checkpoint/build/run_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/build/run_tests.py?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/build/run_tests.py (original)
+++ subversion/branches/shelve-checkpoint/build/run_tests.py Tue Oct 31 09:39:59 2017
@@ -424,7 +424,7 @@ class TestHarness:
           os.write(sys.stdout.fileno(), b'.' * job.test_count())
 
 
-  def _run_global_sheduler(self, testlist, has_py_tests):
+  def _run_global_scheduler(self, testlist, has_py_tests):
     # Collect all tests to execute (separate jobs for each test in python
     # test cases, one job for each c test case).  Do that concurrently to
     # mask latency.  This takes .5s instead of about 3s.
@@ -576,7 +576,7 @@ class TestHarness:
     if self.opts.global_scheduler is None:
       failed = self._run_local_schedulers(testlist)
     else:
-      failed = self._run_global_sheduler(testlist, len(py_tests) > 0)
+      failed = self._run_global_scheduler(testlist, len(py_tests) > 0)
 
     # Open the log again to for filtering.
     if self.logfile:
@@ -1036,7 +1036,9 @@ def main():
   (opts, args) = create_parser().parse_args(sys.argv[1:])
 
   if len(args) < 3:
-    print(__doc__)
+    print("{}: at least three positional arguments required; got {!r}".format(
+      os.path.basename(sys.argv[0]), args
+    ))
     sys.exit(2)
 
   if opts.log_to_stdout:

Modified: subversion/branches/shelve-checkpoint/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/configure.ac?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/configure.ac (original)
+++ subversion/branches/shelve-checkpoint/configure.ac Tue Oct 31 09:39:59 2017
@@ -1312,7 +1312,7 @@ AC_PATH_PROG(PERL, perl, none)
 if test -n "$RUBY"; then
   AC_PATH_PROG(RUBY, "$RUBY", none)
 else
-  AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby18 ruby1.9 ruby1 ruby1.9.3 ruby193 ruby2.0 ruby2.1, none)
+  AC_PATH_PROGS(RUBY, ruby ruby1 ruby1.8 ruby18 ruby1.9 ruby19 ruby1.9.3 ruby193 ruby2 ruby2.0 ruby20 ruby2.1 ruby21 ruby2.2 ruby22 ruby2.3 ruby23 ruby2.4 ruby24, none)
 fi
 if test "$RUBY" != "none"; then
   AC_MSG_CHECKING([rb_hash_foreach])
@@ -1321,7 +1321,7 @@ if test "$RUBY" != "none"; then
     if test -n "$RDOC"; then
       AC_PATH_PROG(RDOC, "$RDOC", none)
     else
-      AC_PATH_PROGS(RDOC, rdoc rdoc1.8 rdoc18 rdoc1.9 rdoc19 rdoc1.9.3 rdoc193 rdoc2.0 rdoc2.1, none)
+      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)
     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))'`"
@@ -1345,7 +1345,7 @@ if test "$RUBY" != "none"; then
       # Disallow Ruby between 1.8.7 and 1.9.3
       RUBY="none"
       AC_MSG_WARN([The detected Ruby is between 1.9 and 1.9.3])
-      AC_MSG_WARN([Only 1.8.x and 1.9.3 releases are supported at this time])
+      AC_MSG_WARN([Only 1.8.x and 1.9.3 or later are supported at this time])
     fi
   else
     AC_MSG_RESULT([no])

Modified: subversion/branches/shelve-checkpoint/notes/commit-access-templates/partial-committer.tmpl
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/notes/commit-access-templates/partial-committer.tmpl?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/notes/commit-access-templates/partial-committer.tmpl (original)
+++ subversion/branches/shelve-checkpoint/notes/commit-access-templates/partial-committer.tmpl Tue Oct 31 09:39:59 2017
@@ -15,18 +15,20 @@ Hi New Partial Committer,
 The other committers and I would like to offer you partial commit
 access for maintenance of the Subversion FROBLINGS area.
 
-If you already have partial commit access to another area, you can
+#ifdef THE_INVITEE_ALREADY_HAS_PARTIAL_COMMIT_ACCESS_TO_ANOTHER_AREA
+Since you already have partial commit access to another area, you can
 accept this offer by simply replying to this mail.  We'll update the
 COMMITTERS file (or you can do it yourself, that's fine too).
 
-If you do not already have partial commit access, you can accept this
-offer by replying to this mail and following the instructions at
-<http://www.apache.org/dev/new-committers-guide.html#cla>.  You will
-receive an email with details on how to access your account.  Once you
-have access to your account, you are encouraged to modify the COMMITTERS
-file appropriately, which also serves as a test of your new username and
-password.
+#else
+You can accept this offer by replying to this mail and following the
+instructions at <http://www.apache.org/dev/new-committers-guide.html#cla>.
+You will receive an email with details on how to access your account.
+Once you have access to your account, you are encouraged to modify the
+COMMITTERS file appropriately, which also serves as a test of your new
+username and password.
 
+#endif
 Remember that you can still post patches for review before committing,
 when you want to.  Commit access just means that you can rely on your
 own judgment to decide when something is ready for commit.  Also, if

Modified: subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/SVNRepos.cpp?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/SVNRepos.cpp (original)
+++ subversion/branches/shelve-checkpoint/subversion/bindings/javahl/native/SVNRepos.cpp Tue Oct 31 09:39:59 2017
@@ -247,6 +247,7 @@ void SVNRepos::dump(File &path, OutputSt
                                     ? ReposNotifyCallback::notify
                                     : NULL,
                                  notifyCallback,
+                                 NULL, NULL,
                                  checkCancel, this, requestPool.getPool()), );
 }
 

Modified: subversion/branches/shelve-checkpoint/subversion/bindings/swig/include/svn_types.swg
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/bindings/swig/include/svn_types.swg?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/bindings/swig/include/svn_types.swg (original)
+++ subversion/branches/shelve-checkpoint/subversion/bindings/swig/include/svn_types.swg Tue Oct 31 09:39:59 2017
@@ -1107,7 +1107,7 @@ svn_ ## TYPE ## _swig_rb_closed(VALUE se
 #ifdef SWIGRUBY
 %typemap(argout) unsigned char digest[ANY] {
   char *digest_string = (char *)svn_md5_digest_to_cstring($1, _global_pool);
-  %append_output(rb_str_new2(digest_string));
+  %append_output(rb_str_new2(digest_string ? digest_string : ""));
 }
 #endif
 

Modified: subversion/branches/shelve-checkpoint/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/private/svn_repos_private.h?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/private/svn_repos_private.h Tue Oct 31 09:39:59 2017
@@ -75,6 +75,30 @@ svn_repos__validate_prop(const char *nam
                          const svn_string_t *value,
                          apr_pool_t *pool);
 
+/* Attempt to normalize a Subversion property if it "needs translation"
+ * (according to svn_prop_needs_translation(), currently all svn:* props).
+ *
+ * At this time, the only performed normalization is translation of
+ * the line endings of the property value so that it would only contain
+ * LF (\n) characters. "\r" characters found mid-line are replaced with "\n".
+ * "\r\n" sequences are replaced with "\n".
+ *
+ * NAME is used to check that VALUE should be normalized, and if this
+ * is the case, VALUE is then normalized, allocated from RESULT_POOL.
+ * If no normalization is required, VALUE will be copied to RESULT_POOL
+ * unchanged.  If NORMALIZED_P is not NULL, and the normalization
+ * happened, set *NORMALIZED_P to non-zero.  If the property is returned
+ * unchanged and NORMALIZED_P is not NULL, then *NORMALIZED_P will be
+ * set to zero.  SCRATCH_POOL will be used for temporary allocations.
+ */
+svn_error_t *
+svn_repos__normalize_prop(const svn_string_t **result_p,
+                          svn_boolean_t *normalized_p,
+                          const char *name,
+                          const svn_string_t *value,
+                          apr_pool_t *result_pool,
+                          apr_pool_t *scratch_pool);
+
 /**
  * Given the error @a err from svn_repos_fs_commit_txn(), return an
  * string containing either or both of the svn_fs_commit_txn() error

Modified: subversion/branches/shelve-checkpoint/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/private/svn_subr_private.h?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/private/svn_subr_private.h Tue Oct 31 09:39:59 2017
@@ -112,12 +112,12 @@ svn_spillbuf__get_size(const svn_spillbu
 svn_filesize_t
 svn_spillbuf__get_memory_size(const svn_spillbuf_t *buf);
 
-/* Retrieve the name of the spill file. The returned value can be NULL
-   if the file has not been created yet. */
+/* Retrieve the name of the spill file. The returned value will be
+   NULL if the file has not been created yet. */
 const char *
 svn_spillbuf__get_filename(const svn_spillbuf_t *buf);
 
-/* Retrieve the handle of the spill file. The returned value can be
+/* Retrieve the handle of the spill file. The returned value will be
    NULL if the file has not been created yet. */
 apr_file_t *
 svn_spillbuf__get_file(const svn_spillbuf_t *buf);
@@ -133,8 +133,8 @@ svn_spillbuf__write(svn_spillbuf_t *buf,
 /* Read a block of memory from the spill buffer. @a *data will be set to
    NULL if no content remains. Otherwise, @a data and @a len will point to
    data that must be fully-consumed by the caller. This data will remain
-   valid until another call to svn_spillbuf_write(), svn_spillbuf_read(),
-   or svn_spillbuf_process(), or if the spill buffer's pool is cleared.  */
+   valid until another call to svn_spillbuf__write(), svn_spillbuf__read(),
+   or svn_spillbuf__process(), or if the spill buffer's pool is cleared.  */
 svn_error_t *
 svn_spillbuf__read(const char **data,
                    apr_size_t *len,
@@ -143,7 +143,7 @@ svn_spillbuf__read(const char **data,
 
 
 /* Callback for reading content out of the spill buffer. Set @a stop if
-   you want to stop the processing (and will call svn_spillbuf_process
+   you want to stop the processing (and will call svn_spillbuf__process
    again, at a later time).  */
 typedef svn_error_t * (*svn_spillbuf_read_t)(svn_boolean_t *stop,
                                              void *baton,
@@ -472,7 +472,7 @@ svn_version__parse_version_string(svn_ve
  * @since New in 1.8.
  */
 svn_boolean_t
-svn_version__at_least(svn_version_t *version,
+svn_version__at_least(const svn_version_t *version,
                       int major,
                       int minor,
                       int patch);

Modified: subversion/branches/shelve-checkpoint/subversion/include/private/svn_utf_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/private/svn_utf_private.h?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/private/svn_utf_private.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/private/svn_utf_private.h Tue Oct 31 09:39:59 2017
@@ -172,6 +172,18 @@ svn_utf__xfrm(const char **result,
               svn_boolean_t accent_insensitive,
               svn_membuf_t *buf);
 
+/* Return TRUE if S matches any of the const char * glob patterns in
+ * PATTERNS.
+ *
+ * S will internally be normalized to lower-case and accents removed
+ * using svn_utf__xfrm.  To get a match, the PATTERNS must have been
+ * normalized accordingly before calling this function.
+ */
+svn_boolean_t
+svn_utf__fuzzy_glob_match(const char *str,
+                          const apr_array_header_t *patterns,
+                          svn_membuf_t *buf);
+
 /* Check if STRING is a valid, NFC-normalized UTF-8 string.  Note that
  * a FALSE return value may indicate that STRING is not valid UTF-8 at
  * all.

Modified: subversion/branches/shelve-checkpoint/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/private/svn_wc_private.h?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/private/svn_wc_private.h Tue Oct 31 09:39:59 2017
@@ -1933,7 +1933,7 @@ svn_wc__conflict_tree_update_local_add(s
                                        apr_pool_t *scratch_pool);
 
 /* Find nodes in the working copy which corresponds to the new location
- * MOVED_TO_REPOS_RELPATH@REV of the tree conflict victim at VICTIM_ABSPATH.
+ * MOVED_TO_REPOS_RELPATH of the tree conflict victim at VICTIM_ABSPATH.
  * The nodes must be of the same node kind as VICTIM_NODE_KIND.
  * If no such node can be found, set *POSSIBLE_TARGETS to an empty array.
  *
@@ -1943,10 +1943,10 @@ svn_wc__conflict_tree_update_local_add(s
  * to the implementation of this function.
  * Note that this function may not necessarily return a node which was
  * actually moved. The only hard guarantee is that the node corresponds to
- * the repository node MOVED_TO_REPOS_RELPATH@REV specified by the caller.
- * In many cases, this will be a moved node if the caller's parameters are
- * correct. Users should be able to perform a sanity check on the results
- * returned from this function.
+ * the repository relpath MOVED_TO_REPOS_RELPATH specified by the caller.
+ * Users should perform a sanity check on the results returned from this
+ * function, e.g. establish whether the MOVED_TO_REPOS_RELPATH at its
+ * current checked-out revision shares ancestry with the conflict victim.
  */
 svn_error_t *
 svn_wc__guess_incoming_move_target_nodes(apr_array_header_t **possible_targets,
@@ -1954,7 +1954,6 @@ svn_wc__guess_incoming_move_target_nodes
                                          const char *victim_abspath,
                                          svn_node_kind_t victim_node_kind,
                                          const char *moved_to_repos_relpath,
-                                         svn_revnum_t rev,
                                          apr_pool_t *result_pool,
                                          apr_pool_t *scratch_pool);
 

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=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_client.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_client.h Tue Oct 31 09:39:59 2017
@@ -6791,10 +6791,11 @@ svn_client_checkpoint_list(apr_array_hea
  * @since New in 1.11.
  */
 svn_error_t *
-svn_client_shelve(const char *shelf_name,
+svn_client_shelve(const char *name,
                   const apr_array_header_t *paths,
                   svn_depth_t depth,
                   const apr_array_header_t *changelists,
+                  svn_boolean_t keep_local,
                   svn_boolean_t dry_run,
                   svn_client_ctx_t *ctx,
                   apr_pool_t *pool);
@@ -6804,7 +6805,7 @@ svn_client_shelve(const char *shelf_name
  * @since New in 1.11.
  */
 svn_error_t *
-svn_client_unshelve(const char *shelf_name,
+svn_client_unshelve(const char *name,
                     const char *local_abspath,
                     svn_boolean_t keep,
                     svn_boolean_t dry_run,
@@ -6816,7 +6817,7 @@ svn_client_unshelve(const char *shelf_na
  * @since New in 1.11.
  */
 svn_error_t *
-svn_client_shelves_delete(const char *shelf_name,
+svn_client_shelves_delete(const char *name,
                           const char *local_abspath,
                           svn_boolean_t dry_run,
                           svn_client_ctx_t *ctx,
@@ -6826,21 +6827,50 @@ svn_client_shelves_delete(const char *sh
  *
  * @since New in 1.11.
  */
+typedef struct svn_client_shelved_patch_info_t
+{
+  const char *message;
+  const char *patch_path;
+  svn_io_dirent2_t *dirent;
+  apr_time_t mtime;
+} svn_client_shelved_patch_info_t;
+
+/** Set *shelved_patches to a hash, keyed by patch name, of pointers to
+ * @c svn_client_shelved_patch_info_t structures.
+ *
+ * @since New in 1.11.
+ */
 svn_error_t *
-svn_client_shelves_list(apr_hash_t **dirents,
+svn_client_shelves_list(apr_hash_t **shelved_patch_infos,
                         const char *local_abspath,
                         svn_client_ctx_t *ctx,
                         apr_pool_t *result_pool,
                         apr_pool_t *scratch_pool);
 
-/** Write local changes to a patch file at @a shelf_name.
+/* Set @a *any_shelved to indicate if there are any shelved changes in this WC.
+ *
+ * This shall provide the answer fast, regardless of how many changes
+ * are stored, unlike svn_client_shelves_list().
+ *
+ * ### Initial implementation isn't O(1) fast -- it just calls
+ *     svn_client_shelves_list().
+ *
+ * @since New in 1.11.
+ */
+svn_error_t *
+svn_client_shelves_any(svn_boolean_t *any_shelved,
+                       const char *local_abspath,
+                       svn_client_ctx_t *ctx,
+                       apr_pool_t *scratch_pool);
+
+/** Write local changes to a patch file at @a name.
  *
  * @a wc_root_abspath: The WC root dir.
  * @a overwrite_existing: If a file at @a patch_abspath exists, overwrite it.
  * @a paths, @a depth, @a changelists: The selection of local paths to diff.
  */
 svn_error_t *
-svn_client_shelf_write_patch(const char *shelf_name,
+svn_client_shelf_write_patch(const char *name,
                              const char *message,
                              const char *wc_root_abspath,
                              svn_boolean_t overwrite_existing,
@@ -6850,26 +6880,26 @@ svn_client_shelf_write_patch(const char
                              svn_client_ctx_t *ctx,
                              apr_pool_t *scratch_pool);
 
-/** Apply the patch file at @a shelf_name to the WC.
+/** Apply the patch file at @a name to the WC.
  *
  * @a wc_root_abspath: The WC root dir.
  * @a reverse: Apply the patch in reverse.
  * @a dry_run: Don't really apply the changes, just notify what would be done.
  */
 svn_error_t *
-svn_client_shelf_apply_patch(const char *shelf_name,
+svn_client_shelf_apply_patch(const char *name,
                              const char *wc_root_abspath,
                              svn_boolean_t reverse,
                              svn_boolean_t dry_run,
                              svn_client_ctx_t *ctx,
                              apr_pool_t *scratch_pool);
 
-/** Delete the patch file at @a shelf_name.
+/** Delete the patch file at @a name.
  *
  * @a wc_root_abspath: The WC root dir.
  */
 svn_error_t *
-svn_client_shelf_delete_patch(const char *shelf_name,
+svn_client_shelf_delete_patch(const char *name,
                               const char *wc_root_abspath,
                               svn_client_ctx_t *ctx,
                               apr_pool_t *scratch_pool);

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_delta.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_delta.h?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_delta.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_delta.h Tue Oct 31 09:39:59 2017
@@ -693,9 +693,12 @@ svn_txdelta_skip_svndiff_window(apr_file
 /** A structure full of callback functions the delta source will invoke
  * as it produces the delta.
  *
- * @note Don't try to allocate one of these yourself.  Instead, always
- * use svn_delta_default_editor() or some other constructor, to ensure
- * that unused slots are filled in with no-op functions.
+ * @note Fields may be added to the end of this structure in future
+ * versions.  Therefore, users shouldn't allocate structures of this
+ * type, to preserve binary compatibility.
+ *
+ * @note It is recommended to use svn_delta_default_editor() or some other
+ * constructor, to ensure that unused slots are filled in with no-op functions.
  *
  * <h3>Function Usage</h3>
  *
@@ -1157,7 +1160,7 @@ typedef struct svn_delta_editor_t
    * be ignored even if not NULL.  If it is not ignored, it must match
    * the checksum of the base text against which svndiff data is being
    * applied; if it does not, @c apply_textdelta_stream call which detects
-   * the mismatch will return the error SVN_ERR_CHECKSUM_MISMATCH
+   * the mismatch will return the error #SVN_ERR_CHECKSUM_MISMATCH
    * (if there is no base text, there may still be an error if
    * @a base_checksum is neither NULL nor the hex MD5 checksum of the
    * empty string).

Modified: subversion/branches/shelve-checkpoint/subversion/include/svn_error_codes.h
URL: http://svn.apache.org/viewvc/subversion/branches/shelve-checkpoint/subversion/include/svn_error_codes.h?rev=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_error_codes.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_error_codes.h Tue Oct 31 09:39:59 2017
@@ -240,6 +240,11 @@ SVN_ERROR_START
              SVN_ERR_BAD_CATEGORY_START + 16,
              "Invalid compression method")
 
+  /** @since New in 1.10. */
+  SVN_ERRDEF(SVN_ERR_BAD_PROPERTY_VALUE_EOL,
+             SVN_ERR_BAD_CATEGORY_START + 17,
+             "Unexpected line ending in the property value")
+
   /* xml errors */
 
   SVN_ERRDEF(SVN_ERR_XML_ATTRIB_NOT_FOUND,

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=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_repos.h Tue Oct 31 09:39:59 2017
@@ -375,6 +375,24 @@ typedef void (*svn_repos_notify_func_t)(
                                         const svn_repos_notify_t *notify,
                                         apr_pool_t *scratch_pool);
 
+/** Callback for filtering repository contents during dump.
+ *
+ * Set @a *include to TRUE to indicate that node, identified by path
+ * @a path in @a root should be included in dump, or set it to @c FALSE
+ * to indicate that node should be excluded (presumably according to state
+ * stored in @a baton).
+ *
+ * Do not assume @a scratch_pool has any lifetime beyond this call.
+ *
+ * @since New in 1.10.
+ */
+typedef svn_error_t * (*svn_repos_dump_filter_func_t)(
+  svn_boolean_t *include,
+  svn_fs_root_t *root,
+  const char *path,
+  void *baton,
+  apr_pool_t *scratch_pool);
+
 /**
  * Allocate an #svn_repos_notify_t structure in @a result_pool, initialize
  * and return it.
@@ -3310,6 +3328,9 @@ svn_repos_verify_fs(svn_repos_t *repos,
  *            reiterating the existence of previous warnings
  *        ### This is a presentation issue. Caller could do this itself.
  *
+ * If @a filter_func is not @c NULL, it is called for each node being
+ * dumped, allowing the caller to exclude it from dump.
+ *
  * If @a cancel_func is not @c NULL, it is called periodically with
  * @a cancel_baton as argument to see if the client wishes to cancel
  * the dump.
@@ -3329,13 +3350,16 @@ svn_repos_dump_fs4(svn_repos_t *repos,
                    svn_boolean_t include_changes,
                    svn_repos_notify_func_t notify_func,
                    void *notify_baton,
+                   svn_repos_dump_filter_func_t filter_func,
+                   void *filter_baton,
                    svn_cancel_func_t cancel_func,
                    void *cancel_baton,
                    apr_pool_t *pool);
 
 /**
  * Similar to svn_repos_dump_fs4(), but with @a include_revprops and 
- * @a include_changes both set to @c TRUE.
+ * @a include_changes both set to @c TRUE and @a filter_func and
+ * @a filter_baton set to @c NULL.
  *
  * @since New in 1.7.
  * @deprecated Provided for backward compatibility with the 1.9 API.
@@ -3436,6 +3460,15 @@ svn_repos_dump_fs(svn_repos_t *repos,
  * to be stamped as if they were newly created via the normal commit
  * process.
  *
+ * If @a normalize_props is set, attempt to normalize invalid Subversion
+ * revision and node properties (those in the svn: namespace) so that
+ * their values would follow the established rules for them.  For example,
+ * for such properties, typically the value must be in UTF-8 with LF
+ * line endings.
+ *
+ * @note The details or the performed normalizations are deliberately
+ * left unspecified and may change in the future.
+ *
  * If non-NULL, use @a notify_func and @a notify_baton to send notification
  * of events to the caller.
  *
@@ -3443,8 +3476,34 @@ svn_repos_dump_fs(svn_repos_t *repos,
  * @a cancel_baton as argument to see if the client wishes to cancel
  * the load.
  *
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_repos_load_fs6(svn_repos_t *repos,
+                   svn_stream_t *dumpstream,
+                   svn_revnum_t start_rev,
+                   svn_revnum_t end_rev,
+                   enum svn_repos_load_uuid uuid_action,
+                   const char *parent_dir,
+                   svn_boolean_t use_pre_commit_hook,
+                   svn_boolean_t use_post_commit_hook,
+                   svn_boolean_t validate_props,
+                   svn_boolean_t ignore_dates,
+                   svn_boolean_t normalize_props,
+                   svn_repos_notify_func_t notify_func,
+                   void *notify_baton,
+                   svn_cancel_func_t cancel_func,
+                   void *cancel_baton,
+                   apr_pool_t *pool);
+
+/**
+ * Similar to svn_repos_load_fs6(), but with the @a normalize_props
+ * parameter always set to @c FALSE.
+ *
  * @since New in 1.9.
+ * @deprecated Provided for backward compatibility with the 1.9 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_repos_load_fs5(svn_repos_t *repos,
                    svn_stream_t *dumpstream,
@@ -3567,6 +3626,15 @@ svn_repos_load_fs(svn_repos_t *repos,
  * @a dumpstream, keeping whatever timestamps the revisions currently
  * have.
  *
+ * If @a normalize_props is set, attempt to normalize invalid Subversion
+ * revision and node properties (those in the svn: namespace) so that
+ * their values would follow the established rules for them.  For example,
+ * for such properties, typically the value must be in UTF-8 with LF
+ * line endings.
+ *
+ * @note The details or the performed normalizations are deliberately
+ * left unspecified and may change in the future.
+ *
  * If non-NULL, use @a notify_func and @a notify_baton to send notification
  * of events to the caller.
  *
@@ -3585,6 +3653,7 @@ svn_repos_load_fs_revprops(svn_repos_t *
                            svn_revnum_t end_rev,
                            svn_boolean_t validate_props,
                            svn_boolean_t ignore_dates,
+                           svn_boolean_t normalize_props,
                            svn_repos_notify_func_t notify_func,
                            void *notify_baton,
                            svn_cancel_func_t cancel_func,
@@ -3788,12 +3857,47 @@ svn_repos_parse_dumpstream3(svn_stream_t
  * to be stamped as if they were newly created via the normal commit
  * process.
  *
+ * If @a normalize_props is set, attempt to normalize invalid Subversion
+ * revision and node properties (those in the svn: namespace) so that
+ * their values would follow the established rules for them.  For example,
+ * for such properties, typically the value must be in UTF-8 with LF
+ * line endings.
+ *
+ * @note The details or the performed normalizations are deliberately
+ * left unspecified and may change in the future.
+ *
  * If @a parent_dir is not NULL, then the parser will reparent all the
  * loaded nodes, from root to @a parent_dir.  The directory @a parent_dir
  * must be an existing directory in the repository.
  *
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_repos_get_fs_build_parser6(const svn_repos_parse_fns3_t **parser,
+                               void **parse_baton,
+                               svn_repos_t *repos,
+                               svn_revnum_t start_rev,
+                               svn_revnum_t end_rev,
+                               svn_boolean_t use_history,
+                               svn_boolean_t validate_props,
+                               enum svn_repos_load_uuid uuid_action,
+                               const char *parent_dir,
+                               svn_boolean_t use_pre_commit_hook,
+                               svn_boolean_t use_post_commit_hook,
+                               svn_boolean_t ignore_dates,
+                               svn_boolean_t normalize_props,
+                               svn_repos_notify_func_t notify_func,
+                               void *notify_baton,
+                               apr_pool_t *pool);
+
+/**
+ * Similar to svn_repos_get_fs_build_parser6(), but with the
+ * @a normalize_props parameter always set to @c FALSE.
+ *
  * @since New in 1.9.
+ * @deprecated Provided for backward compatibility with the 1.9 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_repos_get_fs_build_parser5(const svn_repos_parse_fns3_t **parser,
                                void **parse_baton,

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=1813860&r1=1813859&r2=1813860&view=diff
==============================================================================
--- subversion/branches/shelve-checkpoint/subversion/include/svn_string.h (original)
+++ subversion/branches/shelve-checkpoint/subversion/include/svn_string.h Tue Oct 31 09:39:59 2017
@@ -533,9 +533,25 @@ svn_cstring_count_newlines(const char *m
  * of char *) each followed by @a separator (that is, @a separator
  * will also end the resulting string).  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.
+ *
+ * @since New in 1.10.
+ */
+char *
+svn_cstring_join2(const apr_array_header_t *strings,
+                  const char *separator,
+                  svn_boolean_t trailing_separator,
+                  apr_pool_t *pool);
+
+/**
+ * Similar to svn_cstring_join2(), but always includes the trailing
+ * separator.
  *
  * @since New in 1.2.
+ * @deprecated Provided for backwards compatibility with the 1.9 API.
  */
+SVN_DEPRECATED
 char *
 svn_cstring_join(const apr_array_header_t *strings,
                  const char *separator,