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/11/13 07:49:08 UTC

svn commit: r1846488 [3/23] - in /subversion/branches/mod-dav-svn-expressions: ./ build/ build/ac-macros/ build/generator/ build/generator/swig/ build/generator/templates/ build/generator/util/ build/win32/ contrib/client-side/ contrib/client-side/svn_...

Modified: subversion/branches/mod-dav-svn-expressions/gen-make.py
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/gen-make.py?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/gen-make.py (original)
+++ subversion/branches/mod-dav-svn-expressions/gen-make.py Tue Nov 13 07:49:04 2018
@@ -48,7 +48,6 @@ sys.path.insert(1, 'build')
 
 gen_modules = {
   'make' : ('gen_make', 'Makefiles for POSIX systems'),
-  'dsp' : ('gen_msvc_dsp', 'MSVC 6.x project files'),
   'vcproj' : ('gen_vcnet_vcproj', 'VC.Net project files'),
   }
 

Modified: subversion/branches/mod-dav-svn-expressions/get-deps.sh
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/get-deps.sh?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/get-deps.sh (original)
+++ subversion/branches/mod-dav-svn-expressions/get-deps.sh Tue Nov 13 07:49:04 2018
@@ -35,7 +35,9 @@ APR_VERSION=${APR_VERSION:-"1.4.6"}
 APU_VERSION=${APU_VERSION:-"1.5.1"}
 SERF_VERSION=${SERF_VERSION:-"1.3.8"}
 ZLIB_VERSION=${ZLIB_VERSION:-"1.2.8"}
-SQLITE_VERSION=${SQLITE_VERSION:-"3.7.15.1"}
+SQLITE_VERSION=${SQLITE_VERSION:-"3.8.11.1"}
+# Used to construct the SQLite download URL.
+SQLITE_VERSION_REL_YEAR=2015
 GTEST_VERSION=${GMOCK_VERSION:-"1.7.0"}
 GMOCK_VERSION=${GMOCK_VERSION:-"1.7.0"}
 HTTPD_VERSION=${HTTPD_VERSION:-"2.4.10"}
@@ -116,7 +118,7 @@ get_sqlite() {
     test -d $BASEDIR/sqlite-amalgamation && return
 
     cd $TEMPDIR
-    $HTTP_FETCH http://www.sqlite.org/$SQLITE.zip
+    $HTTP_FETCH https://www.sqlite.org/$SQLITE_VERSION_REL_YEAR/$SQLITE.zip
     cd $BASEDIR
 
     unzip -q $TEMPDIR/$SQLITE.zip

Modified: subversion/branches/mod-dav-svn-expressions/notes/EuroOSCON-2005-vc-bof.txt
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/EuroOSCON-2005-vc-bof.txt?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/EuroOSCON-2005-vc-bof.txt (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/EuroOSCON-2005-vc-bof.txt Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/client-configuration
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/client-configuration?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/client-configuration (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/client-configuration Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/commit-access-templates/partial-committer.tmpl
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/commit-access-templates/partial-committer.tmpl?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/commit-access-templates/partial-committer.tmpl (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/commit-access-templates/partial-committer.tmpl Tue Nov 13 07:49:04 2018
@@ -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/mod-dav-svn-expressions/notes/diff-optimizations.txt
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/diff-optimizations.txt?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/diff-optimizations.txt (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/diff-optimizations.txt Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/dump-load-format.txt
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/dump-load-format.txt?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/dump-load-format.txt (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/dump-load-format.txt Tue Nov 13 07:49:04 2018
@@ -72,6 +72,10 @@ UUID: <hex-string>
 where the <hex-string> is the UUID of the originating repository.
 An example UUID is "7bf7a5ef-cabf-0310-b7d4-93df341afa7e".
 
+As generated by Subversion, these UUIDs are "Version 1", incorporating
+the MAC of the originating machine. The presentation is in RFC4122
+form without the "urn:" or "uuid:" prefixes.
+
 ==== Revision records ====
 
 A Revision record has three headers and is usually followed by a

Modified: subversion/branches/mod-dav-svn-expressions/notes/http-and-webdav/webdav-protocol
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/http-and-webdav/webdav-protocol?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/http-and-webdav/webdav-protocol (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/http-and-webdav/webdav-protocol Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/merge-tracking/func-spec.html
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/func-spec.html?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/func-spec.html (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/func-spec.html Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/merge-tracking/requirements.html
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/requirements.html?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/requirements.html (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/requirements.html Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/merge-tracking/summit.html
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/summit.html?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/summit.html (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/merge-tracking/summit.html Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/obliterate/obliterate-functional-spec.txt
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/obliterate/obliterate-functional-spec.txt?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/obliterate/obliterate-functional-spec.txt (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/obliterate/obliterate-functional-spec.txt Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/tree-conflicts/design-overview.txt
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/design-overview.txt?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/design-overview.txt (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/design-overview.txt Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/tree-conflicts/detection.txt
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/detection.txt?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/detection.txt (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/detection.txt Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/notes/tree-conflicts/use-cases.txt
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/use-cases.txt?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/use-cases.txt (original)
+++ subversion/branches/mod-dav-svn-expressions/notes/tree-conflicts/use-cases.txt Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/subversion/bindings/javahl/README
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/README?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/README (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/README Tue Nov 13 07:49:04 2018
@@ -5,7 +5,7 @@ JavaHL provides a (mostly native, using
 a high level Java API for Subversion, which was originally targeted for
 implementors of GUI clients and IDE plug-ins for Subversion.  JavaHL
 currently provides a minimal-but-complete set of APIs which expose the
-core Subversion C API to Java.  It requires a JRE 1.6+ (runtime).
+core Subversion C API to Java.  It requires a JRE 1.8+ (runtime).
 
 It is currently quite mature, and can be considered for production use.
 
@@ -14,7 +14,7 @@ Build system
 ------------
 
 JavaHL should compile and run under Linux, Win32, and Mac OS X with
-JDK 1.6+ and a C++ compiler with a complete implementation of
+JDK 1.8+ and a C++ compiler with a complete implementation of
 C++98 (for example, GCC 3.2 and older cannot compile JavaHL 1.9+).
 
 Its build will produce both a native library (libsvnjavahl-1.so on Unix

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/JNIUtil.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/JNIUtil.cpp?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/JNIUtil.cpp (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/JNIUtil.cpp Tue Nov 13 07:49:04 2018
@@ -578,16 +578,17 @@ jthrowable JNIUtil::wrappedCreateClientE
   if (JNIUtil::isJavaExceptionThrown())
     return NULL;
 
-  const char *source = NULL;
+  std::string source;
 #ifdef SVN_DEBUG
 #ifndef SVN_ERR__TRACING
   if (err->file)
     {
-      std::ostringstream buf;
-      buf << err->file;
+      source = err->file;
       if (err->line > 0)
-        buf << ':' << err->line;
-      source = buf.str().c_str();
+        {
+          source += ':';
+          source += err->line;
+        }
     }
 #endif
 #endif
@@ -615,7 +616,7 @@ jthrowable JNIUtil::wrappedCreateClientE
       JNICriticalSection cs(*g_logMutex);
       g_logStream << "Subversion JavaHL exception thrown, message:<";
       g_logStream << msg << ">";
-      if (source)
+      if (!source.empty())
         g_logStream << " source:<" << source << ">";
       if (err->apr_err != -1)
         g_logStream << " apr-err:<" << err->apr_err << ">";
@@ -624,7 +625,7 @@ jthrowable JNIUtil::wrappedCreateClientE
   if (isJavaExceptionThrown())
     POP_AND_RETURN_NULL;
 
-  jstring jsource = makeJString(source);
+  jstring jsource = (source.empty() ? NULL : makeJString(source.c_str()));
   if (isJavaExceptionThrown())
     POP_AND_RETURN_NULL;
 

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/Prompter.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/Prompter.cpp?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/Prompter.cpp (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/Prompter.cpp Tue Nov 13 07:49:04 2018
@@ -342,8 +342,7 @@ svn_error_t *Prompter::dispatch_ssl_serv
   svn_auth_cred_ssl_server_trust_t *cred =
     static_cast<svn_auth_cred_ssl_server_trust_t*>(apr_pcalloc(pool, sizeof(*cred)));
   cred->may_save = save;
-  if (save)
-    cred->accepted_failures = failures;
+  cred->accepted_failures = failures;
   *cred_p = cred;
 
   return SVN_NO_ERROR;

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNClient.cpp?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNClient.cpp Tue Nov 13 07:49:04 2018
@@ -1055,7 +1055,8 @@ void SVNClient::diff(const char *target1
                                    options.useGitDiffFormat(),
                                    SVN_APR_LOCALE_CHARSET,
                                    outputStream.getStream(subPool),
-                                   NULL /* error file */,
+                                   // Discard stderr; TODO: Update JavaHL API
+                                   svn_stream_empty(subPool.getPool()),
                                    changelists.array(subPool),
                                    ctx,
                                    subPool.getPool()),
@@ -1084,7 +1085,8 @@ void SVNClient::diff(const char *target1
                                options.useGitDiffFormat(),
                                SVN_APR_LOCALE_CHARSET,
                                outputStream.getStream(subPool),
-                               NULL /* error stream */,
+                               // Discard stderr; TODO: Update JavaHL API
+                               svn_stream_empty(subPool.getPool()),
                                changelists.array(subPool),
                                ctx,
                                subPool.getPool()),

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.cpp?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.cpp (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.cpp Tue Nov 13 07:49:04 2018
@@ -247,6 +247,7 @@ void SVNRepos::dump(File &path, OutputSt
                                     ? ReposNotifyCallback::notify
                                     : NULL,
                                  notifyCallback,
+                                 NULL, NULL,
                                  checkCancel, this, requestPool.getPool()), );
 }
 
@@ -331,6 +332,7 @@ void SVNRepos::load(File &path,
                     bool usePostCommitHook,
                     bool validateProps,
                     bool ignoreDates,
+                    bool normalizeProps,
                     const char *relativePath,
                     ReposNotifyCallback *notifyCallback)
 {
@@ -367,10 +369,10 @@ void SVNRepos::load(File &path,
                               path.getInternalStyle(requestPool), NULL,
                               requestPool.getPool(), requestPool.getPool()), );
 
-  SVN_JNI_ERR(svn_repos_load_fs5(repos, dataIn.getStream(requestPool),
+  SVN_JNI_ERR(svn_repos_load_fs6(repos, dataIn.getStream(requestPool),
                                  lower, upper, uuid_action, relativePath,
                                  usePreCommitHook, usePostCommitHook,
-                                 validateProps, ignoreDates,
+                                 validateProps, ignoreDates, normalizeProps,
                                  notifyCallback != NULL
                                     ? ReposNotifyCallback::notify
                                     : NULL,

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/SVNRepos.h Tue Nov 13 07:49:04 2018
@@ -61,7 +61,7 @@ class SVNRepos : public SVNBase
             Revision &revsionStart, Revision &revisionEnd,
             bool ignoreUUID, bool forceUUID,
             bool usePreCommitHook, bool usePostCommitHook,
-            bool validateProps, bool ignoreDates,
+            bool validateProps, bool ignoreDates, bool normalizeProps,
             const char *relativePath, ReposNotifyCallback *notifyCallback);
   void listUnusedDBLogs(File &path,
                         MessageReceiver &messageReceiver);

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp Tue Nov 13 07:49:04 2018
@@ -247,7 +247,7 @@ Java_org_apache_subversion_javahl_SVNRep
     jobject jrevisionStart, jobject jrevisionEnd,
     jboolean jignoreUUID, jboolean jforceUUID,
     jboolean jusePreCommitHook, jboolean jusePostCommitHook,
-    jboolean jvalidateProps, jboolean jignoreDates,
+    jboolean jvalidateProps, jboolean jignoreDates, jboolean jnormalizeProps,
     jstring jrelativePath, jobject jnotifyCallback)
 {
   JNIEntry(SVNRepos, load);
@@ -287,6 +287,7 @@ Java_org_apache_subversion_javahl_SVNRep
            jusePostCommitHook ? true : false,
            jvalidateProps ? true : false,
            jignoreDates ? true : false,
+           jnormalizeProps ? true : false,
            relativePath,
            (jnotifyCallback != NULL ? &notifyCallback : NULL));
 }

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/CommitItemStateFlags.java Tue Nov 13 07:49:04 2018
@@ -23,6 +23,8 @@
 
 package org.apache.subversion.javahl;
 
+import java.lang.annotation.*;
+
 /**
  * The constants in this interface describe the changes to an item to
  * be committed.
@@ -32,36 +34,43 @@ public interface CommitItemStateFlags
     /**
      * the item has been added
      */
+    @Native
     public static final int Add=1;
 
     /**
      * the item has been deleted
      */
+    @Native
     public static final int Delete=2;
 
     /**
      * the item has text modifications
      */
+    @Native
     public static final int TextMods=4;
 
     /**
      * the item has property modifications
      */
+    @Native
     public static final int PropMods=8;
 
     /**
      * the item has been copied
      */
+    @Native
     public static final int IsCopy=16;
 
     /**
      * the item has a lock token
      */
+    @Native
     public static final int LockToken = 32;
 
     /**
      * the item was moved to this location
      * @since 1.8
      */
+    @Native
     public static int MovedHere = 64;
 }

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java Tue Nov 13 07:49:04 2018
@@ -151,6 +151,39 @@ public interface ISVNRepos {
      * load the data of a dump into a repository
      * @param path              the path to the repository
      * @param dataInput         the data input source
+     * @param start             the first revision to load
+     * @param end               the last revision to load
+     * @param ignoreUUID        ignore any UUID found in the input stream
+     * @param forceUUID         set the repository UUID to any found in the
+     *                          stream
+     * @param usePreCommitHook  use the pre-commit hook when processing commits
+     * @param usePostCommitHook use the post-commit hook when processing commits
+     * @param validateProps     validate "svn:" revision and node properties
+     * @param ignoreDates       ignore revision datestamps in the dump stream
+     * @param normalizeProps    attempt to normalize invalid Subversion
+     *                          revision and node properties
+     * @param relativePath      the directory in the repository, where the data
+     *                          in put optional.
+     * @param callback          the target for processing messages
+     * @throws ClientException  throw in case of problem
+     * @since 1.10
+     */
+    public abstract void load(File path, InputStream dataInput,
+                              Revision start, Revision end,
+                              boolean ignoreUUID, boolean forceUUID,
+                              boolean usePreCommitHook,
+                              boolean usePostCommitHook,
+                              boolean validateProps,
+                              boolean ignoreDates,
+                              boolean normalizeProps,
+                              String relativePath,
+                              ReposNotifyCallback callback)
+        throws ClientException;
+
+    /**
+     * load the data of a dump into a repository
+     * @param path              the path to the repository
+     * @param dataInput         the data input source
          * @param start             the first revision to load
          * @param end               the last revision to load
      * @param ignoreUUID        ignore any UUID found in the input stream

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java Tue Nov 13 07:49:04 2018
@@ -141,12 +141,15 @@ public class NativeResources
      */
     private static final void init()
     {
+        final int SVN_VER_MAJOR = 1;
+        final int SVN_VER_MINOR = 12;
         initNativeLibrary();
         version = new Version();
-        if (!version.isAtLeast(1, 10, 0))
+        if (!version.isAtLeast(SVN_VER_MAJOR, SVN_VER_MINOR, 0))
         {
             throw new LinkageError("Native library version must be at least " +
-                                   "1.10.0, but is only " + version);
+                                   SVN_VER_MAJOR + "." + SVN_VER_MINOR + ".0," +
+                                   "but is only " + version);
         }
 
         runtimeVersion = new RuntimeVersion();

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java Tue Nov 13 07:49:04 2018
@@ -160,6 +160,17 @@ public class SVNRepos implements ISVNRep
             throws ClientException;
 
     public void load(File path, InputStream dataInput,
+                     boolean ignoreUUID, boolean forceUUID,
+                     boolean usePreCommitHook, boolean usePostCommitHook,
+                     String relativePath, ReposNotifyCallback callback)
+        throws ClientException
+    {
+        load(path, dataInput, Revision.START, Revision.HEAD,
+             ignoreUUID, forceUUID, usePreCommitHook, usePostCommitHook,
+             false, false, false, relativePath, callback);
+    }
+
+    public void load(File path, InputStream dataInput,
                      Revision start, Revision end,
                      boolean ignoreUUID, boolean forceUUID,
                      boolean usePreCommitHook, boolean usePostCommitHook,
@@ -168,18 +179,20 @@ public class SVNRepos implements ISVNRep
     {
         load(path, dataInput, start, end,
              ignoreUUID, forceUUID, usePreCommitHook, usePostCommitHook,
-             false, false, relativePath, callback);
+             false, false, false, relativePath, callback);
     }
 
     public void load(File path, InputStream dataInput,
+                     Revision start, Revision end,
                      boolean ignoreUUID, boolean forceUUID,
                      boolean usePreCommitHook, boolean usePostCommitHook,
+                     boolean validateProps, boolean ignoreDates,
                      String relativePath, ReposNotifyCallback callback)
-            throws ClientException
+        throws ClientException
     {
-        load(path, dataInput, Revision.START, Revision.HEAD,
+        load(path, dataInput, start, end,
              ignoreUUID, forceUUID, usePreCommitHook, usePostCommitHook,
-             false, false, relativePath, callback);
+             validateProps, ignoreDates, false, relativePath, callback);
     }
 
     public native void load(File path, InputStream dataInput,
@@ -187,6 +200,7 @@ public class SVNRepos implements ISVNRep
                             boolean ignoreUUID, boolean forceUUID,
                             boolean usePreCommitHook, boolean usePostCommitHook,
                             boolean validateProps, boolean ignoreDates,
+                            boolean normalizeProps,
                             String relativePath, ReposNotifyCallback callback)
             throws ClientException;
 

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/UserPasswordCallback.java Tue Nov 13 07:49:04 2018
@@ -23,6 +23,8 @@
 
 package org.apache.subversion.javahl.callback;
 
+import java.lang.annotation.*;
+
 /**
  * <p>The interface for requesting authentication credentials from the
  * user.  Should the javahl bindings need the matching information,
@@ -40,16 +42,19 @@ public interface UserPasswordCallback
     /**
      * Reject the connection to the server.
      */
+    @Native
     public static final int Reject = 0;
 
     /**
      * Accept the connection to the server <i>once</i>.
      */
+    @Native
     public static final int AcceptTemporary = 1;
 
     /**
      * Accept the connection to the server <i>forever</i>.
      */
+    @Native
     public static final int AcceptPermanently = 2;
 
     /**

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java Tue Nov 13 07:49:04 2018
@@ -23,6 +23,7 @@
 
 package org.apache.subversion.javahl.types;
 
+import java.lang.annotation.*;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
@@ -179,6 +180,7 @@ public class Revision implements java.io
     /**
      * Marker revision number for no real revision
      */
+    @Native
     public static final int SVN_INVALID_REVNUM = -1;
 
     /**

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/subversion/bindings/swig/include/svn_types.swg
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/include/svn_types.swg?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/include/svn_types.swg (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/include/svn_types.swg Tue Nov 13 07:49:04 2018
@@ -44,6 +44,7 @@
    Known instances of "type **" which are *not* OUTPUT parameters are:
    - svn_stream_checksummed(..., const unsigned char **read_digest,
                                  const unsigned char **write_digest, ...)
+   - svn_*_change_rev_prop2(..., const svn_string_t *const *old_value_p, ...)
 */
 %typemap(in, numinputs=0) SWIGTYPE ** ($*1_ltype temp) "$1 = &temp;";
 
@@ -1107,7 +1108,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/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/Core.pm
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/Core.pm?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/Core.pm (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/Core.pm Tue Nov 13 07:49:04 2018
@@ -613,7 +613,7 @@ The second is if you have $SVN::Error::h
 calls you want to croak on when there is an error, but you don't want to write
 an explicit error handler. For example:
 
-my $result_rev=SVN::Error::croak_on_error($ctx-E<gt>checkout($url,$path,'HEAD',1));
+my $rev = SVN::Error::croak_on_error($ctx-E<gt>checkout($url,$path,'HEAD',1));
 
 If there is no error then croak_on_error will return the arguments passed to it
 unchanged.

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/t/3client.t
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/t/3client.t?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/t/3client.t (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/perl/native/t/3client.t Tue Nov 13 07:49:04 2018
@@ -1091,8 +1091,8 @@ isa_ok($dirents->{'dir1'},'_p_svn_dirent
 is($dirents->{'dir1'}->kind(),$SVN::Core::node_dir,
    'kind() returns a dir node');
 # TEST
-is($dirents->{'dir1'}->size(),0,
-   'size() returns 0 for a directory');
+is($dirents->{'dir1'}->size(), -1,
+   'size() returns -1 for a directory');
 # TEST
 is($dirents->{'dir1'}->has_props(),1,
    'has_props() returns true');

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Tue Nov 13 07:49:04 2018
@@ -2578,8 +2578,7 @@ svn_swig_py_make_stream(PyObject *py_io,
   svn_stream_t *stream;
 
   stream = svn_stream_create(py_io, pool);
-  svn_stream_set_read2(stream, NULL /* only full read support */,
-                       read_handler_pyio);
+  svn_stream_set_read2(stream, read_handler_pyio, NULL);
   svn_stream_set_write(stream, write_handler_pyio);
   svn_stream_set_close(stream, close_handler_pyio);
   apr_pool_cleanup_register(pool, py_io, svn_swig_py_stream_destroy,

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/svn/fs.py
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/svn/fs.py?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/svn/fs.py (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/svn/fs.py Tue Nov 13 07:49:04 2018
@@ -34,12 +34,15 @@ del _unprefix_names
 # Names that are not to be exported
 import sys as _sys, os as _os, tempfile as _tempfile, subprocess as _subprocess
 try:
-  # Python >=3.0
-  import builtins
-except ImportError:
   # Python <3.0
+  # Check for Python <3.0 first to prevent the presence of the python2-future
+  # package from incorrectly importing Python 3 behavior when it isn't intended.
   import __builtin__ as builtins
+except ImportError:
+  # Python >=3.0
+  import builtins
 import svn.core as _svncore
+import svn.diff as _svndiff
 
 
 def entries(root, path, pool=None):
@@ -56,6 +59,7 @@ class FileDiff:
 
     self.tempfile1 = None
     self.tempfile2 = None
+    self.difftemp  = None
 
     self.root1 = root1
     self.path1 = path1
@@ -76,7 +80,7 @@ class FileDiff:
     return 0
 
   def _dump_contents(self, file, root, path, pool=None):
-    fp = builtins.open(file, 'w+') # avoid namespace clash with
+    fp = builtins.open(file, 'wb') # avoid namespace clash with
                                    # trimmed-down svn_fs_open()
     if path is not None:
       stream = file_contents(root, path, pool)
@@ -108,27 +112,49 @@ class FileDiff:
   def get_pipe(self):
     self.get_files()
 
-    # use an array for the command to avoid the shell and potential
-    # security exposures
-    cmd = ["diff"] \
-          + self.diffoptions \
-          + [self.tempfile1, self.tempfile2]
-
-    # open the pipe, and return the file object for reading from the child.
-    p = _subprocess.Popen(cmd, stdout=_subprocess.PIPE, bufsize=-1,
-                          close_fds=_sys.platform != "win32")
-    return p.stdout
+    # If diffoptions were provided, then the diff command needs to be
+    # called in preference to using the internal Subversion diff.
+    if self.diffoptions is not None:
+      # use an array for the command to avoid the shell and potential
+      # security exposures
+      cmd = ["diff"] \
+            + self.diffoptions \
+            + [self.tempfile1, self.tempfile2]
+
+      # open the pipe, and return the file object for reading from the child.
+      p = _subprocess.Popen(cmd, stdout=_subprocess.PIPE, bufsize=-1,
+                            close_fds=_sys.platform != "win32")
+      return p.stdout
+
+    else:
+      if self.difftemp is None:
+        self.difftemp = _tempfile.mktemp()
+
+        with builtins.open(self.difftemp, "wb") as fp:
+          diffopt = _svndiff.file_options_create()
+          diffobj = _svndiff.file_diff_2(self.tempfile1,
+                                         self.tempfile2,
+                                         diffopt)
+
+          _svndiff.file_output_unified4(fp,
+                                        diffobj,
+                                        self.tempfile1,
+                                        self.tempfile2,
+                                        None, None,
+                                        "utf8",
+                                        None,
+                                        diffopt.show_c_function,
+                                        diffopt.context_size,
+                                        None, None)
+
+      return builtins.open(self.difftemp, "rb")
 
   def __del__(self):
     # it seems that sometimes the files are deleted, so just ignore any
     # failures trying to remove them
-    if self.tempfile1 is not None:
-      try:
-        _os.remove(self.tempfile1)
-      except OSError:
-        pass
-    if self.tempfile2 is not None:
-      try:
-        _os.remove(self.tempfile2)
-      except OSError:
-        pass
+    for tmpfile in [self.tempfile1, self.tempfile2, self.difftemp]:
+      if tmpfile is not None:
+        try:
+          _os.remove(tmpfile)
+        except OSError:
+          pass

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/tests/run_all.py
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/tests/run_all.py?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/tests/run_all.py (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/python/tests/run_all.py Tue Nov 13 07:49:04 2018
@@ -19,7 +19,7 @@
 #
 #
 import unittest, setup_path
-import mergeinfo, core, client, delta, checksum, pool, ra, wc, repository, \
+import mergeinfo, core, client, delta, checksum, pool, fs, ra, wc, repository, \
        auth, trac.versioncontrol.tests
 from svn.core import svn_cache_config_get, svn_cache_config_set
 
@@ -37,6 +37,7 @@ def suite():
   s.addTest(client.suite())
   s.addTest(delta.suite())
   s.addTest(pool.suite())
+  s.addTest(fs.suite())
   s.addTest(ra.suite())
   s.addTest(wc.suite())
   s.addTest(repository.suite())

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/svn/util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/svn/util.rb?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/svn/util.rb (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/svn/util.rb Tue Nov 13 07:49:04 2018
@@ -36,8 +36,13 @@ module Svn
   module Util #:nodoc:
     module_function
     def to_ruby_class_name(name)
+      # Convert to CamelCase with 'X' for a leading/double/trailing underscore.
       name.to_s.split("_").collect do |x|
-        "#{x[0,1].upcase}#{x[1..-1].downcase}"
+        if x.empty?
+          "X"
+        else
+          x.capitalize
+        end
       end.join("")
     end
 
@@ -70,6 +75,8 @@ module Svn
           target_name = $POSTMATCH
         when /^SWIG_SVN_/
           target_name = $POSTMATCH
+        when /^Svn_(?:#{target_mod.name.split("::").last.downcase}_)?_(.+)_t$/
+          # ignore private types
         when /^Svn_(?:#{target_mod.name.split("::").last.downcase}_)?(.+)_t$/
           target_name = to_ruby_class_name($1)
         when /^Svn_(?:#{target_mod.name.split("::").last.downcase}_)?/

Modified: subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_client.rb
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_client.rb?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_client.rb (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_client.rb Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_util.rb?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_util.rb (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/bindings/swig/ruby/test/test_util.rb Tue Nov 13 07:49:04 2018
@@ -33,5 +33,6 @@ class SvnUtilTest < Test::Unit::TestCase
     assert_equal("Abc", Svn::Util.to_ruby_class_name("abc"))
     assert_equal("AbcDef", Svn::Util.to_ruby_class_name("abc_def"))
     assert_equal("AbcDef", Svn::Util.to_ruby_class_name("ABC_DEF"))
+    assert_equal("XFoo", Svn::Util.to_ruby_class_name("_foo"))
   end
 end

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_client_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_client_private.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_client_private.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_client_private.h Tue Nov 13 07:49:04 2018
@@ -289,15 +289,17 @@ svn_client__wc_node_get_origin(svn_clien
  *
  * If MAKE_PARENTS is TRUE and DST_ABSPATH doesn't have an added parent
  * create missing parent directories
+ *
+ * The caller should be holding a WC write lock that allows DST_ABSPATH to
+ * be created, such as on the parent of DST_ABSPATH.
  */
 svn_error_t *
 svn_client__copy_foreign(const char *url,
                          const char *dst_abspath,
-                         svn_opt_revision_t *peg_revision,
-                         svn_opt_revision_t *revision,
+                         const svn_opt_revision_t *peg_revision,
+                         const svn_opt_revision_t *revision,
                          svn_depth_t depth,
                          svn_boolean_t make_parents,
-                         svn_boolean_t already_locked,
                          svn_client_ctx_t *ctx,
                          apr_pool_t *scratch_pool);
 
@@ -341,6 +343,127 @@ svn_client__mergeinfo_log(svn_boolean_t
                           apr_pool_t *result_pool,
                           apr_pool_t *scratch_pool);
 
+/** Return a diff processor that will print a Subversion-style
+ * (not git-style) diff.
+ *
+ * @a anchor is optional (may be null), and is the 'anchor' path to prefix
+ * to the diff-processor paths before displaying.
+ *
+ * @a orig_path_1 and @a orig_path_2 are the two main root paths to be
+ * diffed; each may be a URL, a local WC path or a local unversioned path.
+ *
+ * Other arguments are as for svn_client_diff7() etc.
+ */
+svn_error_t *
+svn_client__get_diff_writer_svn(
+                svn_diff_tree_processor_t **diff_processor,
+                const char *anchor,
+                const char *orig_path_1,
+                const char *orig_path_2,
+                const apr_array_header_t *options,
+                const char *relative_to_dir,
+                svn_boolean_t no_diff_added,
+                svn_boolean_t no_diff_deleted,
+                svn_boolean_t show_copies_as_adds,
+                svn_boolean_t ignore_content_type,
+                svn_boolean_t ignore_properties,
+                svn_boolean_t properties_only,
+                svn_boolean_t pretty_print_mergeinfo,
+                const char *header_encoding,
+                svn_stream_t *outstream,
+                svn_stream_t *errstream,
+                svn_client_ctx_t *ctx,
+                apr_pool_t *pool);
+
+/** Output the subtree of @a shelf_version rooted at @a shelf_relpath
+ * as a diff to @a diff_processor.
+ *
+ * ### depth and ignore_ancestry are currently ignored.
+ *
+ * @warning EXPERIMENTAL.
+ */
+SVN_EXPERIMENTAL
+svn_error_t *
+svn_client__shelf_diff(svn_client__shelf_version_t *shelf_version,
+                       const char *shelf_relpath,
+                       svn_depth_t depth,
+                       svn_boolean_t ignore_ancestry,
+                       const svn_diff_tree_processor_t *diff_processor,
+                       apr_pool_t *scratch_pool);
+
+/*** Editor for diff summary ***/
+
+/* Set *DIFF_PROCESSOR to a diff processor that will report a diff summary
+   to SUMMARIZE_FUNC.
+
+   P_ROOT_RELPATH will return a pointer to a string that must be set,
+   before the processor is called, to a prefix that will be found on
+   every DIFF_PROCESSOR relpath, that will be removed before passing
+   the path to SUMMARIZE_FUNC.
+
+   ORIGINAL_TARGET is not used.
+
+   SUMMARIZE_FUNC is called with SUMMARIZE_BATON as parameter by the
+   created callbacks for each changed item.
+*/
+svn_error_t *
+svn_client__get_diff_summarize_callbacks(
+                        svn_diff_tree_processor_t **diff_processor,
+                        svn_client_diff_summarize_func_t summarize_func,
+                        void *summarize_baton,
+                        apr_pool_t *result_pool,
+                        apr_pool_t *scratch_pool);
+
+/* Copy a directory tree from SRC_URL @ SRC_PEG_REVISION, operative revision
+ * SRC_OP_REVISION, to DST_ABSPATH in a WC.
+ *
+ * The caller should be holding a WC write lock that allows DST_ABSPATH to
+ * be created, such as on the parent of DST_ABSPATH.
+ *
+ * If RA_SESSION is NOT NULL, it may be used to avoid creating a new
+ * session. The session may point to a different URL after returning.
+ */
+svn_error_t *
+svn_client__repos_to_wc_copy_dir(svn_boolean_t *timestamp_sleep,
+                                 const char *src_url,
+                                 const svn_opt_revision_t *src_peg_revision,
+                                 const svn_opt_revision_t *src_op_revision,
+                                 const char *dst_abspath,
+                                 svn_boolean_t ignore_externals,
+                                 svn_ra_session_t *ra_session,
+                                 svn_client_ctx_t *ctx,
+                                 apr_pool_t *pool);
+
+/** Send committable changes found in the WC to a delta-editor.
+ *
+ * Committable changes are found in TARGETS:DEPTH:CHANGELISTS.
+ *
+ * Send the changes to EDITOR:EDIT_BATON.
+ *
+ * Compared with svn_client__do_commit(), this (like svn_client_commit6)
+ * handles:
+ *  - condense targets and find committable paths
+ *  - checking only one repository is involved
+ *
+ * Compared with svn_client_commit6(), this does not handle:
+ *  - externals
+ *  - log message
+ *  - revprops
+ *  - checking the commit includes both halves of each local move
+ *  - changing the copy revision of each local move to ~HEAD
+ *  - WC write locks
+ *  - bumping revisions in WC
+ *  - removing locks and changelists in WC
+ */
+svn_error_t *
+svn_client__wc_replay(const apr_array_header_t *targets,
+                      svn_depth_t depth,
+                      const apr_array_header_t *changelists,
+                      const svn_delta_editor_t *editor,
+                      void *edit_baton,
+                      svn_client_ctx_t *ctx,
+                      apr_pool_t *scratch_pool);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_cmdline_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_cmdline_private.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_cmdline_private.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_cmdline_private.h Tue Nov 13 07:49:04 2018
@@ -269,6 +269,15 @@ svn_cmdline__disable_cancellation_handle
 void
 svn_cmdline__cancellation_exit(void);
 
+/** Reads a string from stdin until a newline or EOF is found
+ *
+ * @since New in 1.10.
+ */
+svn_error_t *
+svn_cmdline__stdin_readline(const char **result,
+                            apr_pool_t *result_pool,
+                            apr_pool_t *scratch_pool);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_diff_tree.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_diff_tree.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_diff_tree.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_diff_tree.h Tue Nov 13 07:49:04 2018
@@ -321,7 +321,6 @@ svn_diff__tree_processor_create(void *ba
  */ /* Used by libsvn clients repository diff */
 const svn_diff_tree_processor_t *
 svn_diff__tree_processor_reverse_create(const svn_diff_tree_processor_t * processor,
-                                        const char *prefix_relpath,
                                         apr_pool_t *result_pool);
 
 /**

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_element.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_element.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_element.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_element.h Tue Nov 13 07:49:04 2018
@@ -348,7 +348,7 @@ svn_element__content_t *
 svn_element__tree_get(const svn_element__tree_t *tree,
                       int eid);
 
-svn_error_t *
+void
 svn_element__tree_set(svn_element__tree_t *tree,
                       int eid,
                       const svn_element__content_t *element);

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_ra_svn_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_ra_svn_private.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_ra_svn_private.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_ra_svn_private.h Tue Nov 13 07:49:04 2018
@@ -127,6 +127,11 @@ svn_error_t *
 svn_ra_svn__set_capabilities(svn_ra_svn_conn_t *conn,
                              const svn_ra_svn__list_t *list);
 
+/** Returns the preferred svndiff version to be used with connection @a conn.
+ */
+int
+svn_ra_svn__svndiff_version(svn_ra_svn_conn_t *conn);
+
 
 /**
  * Set the shim callbacks to be used by @a conn to @a shim_callbacks.

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_repos_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_repos_private.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_repos_private.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_repos_private.h Tue Nov 13 07:49:04 2018
@@ -31,6 +31,7 @@
 
 #include "svn_types.h"
 #include "svn_repos.h"
+#include "svn_delta.h"
 #include "svn_editor.h"
 #include "svn_config.h"
 
@@ -296,6 +297,23 @@ svn_repos__dump_headers(svn_stream_t *st
                         svn_repos__dumpfile_headers_t *headers,
                         apr_pool_t *scratch_pool);
 
+/* Write a magic header record to DUMP_STREAM specifying format version
+ * VERSION.
+ */
+svn_error_t *
+svn_repos__dump_magic_header_record(svn_stream_t *dump_stream,
+                                    int version,
+                                    apr_pool_t *pool);
+
+/* Write a UUID record to DUMP_STREAM.
+ *
+ * If UUID is NULL then write nothing at all.
+ */
+svn_error_t *
+svn_repos__dump_uuid_header_record(svn_stream_t *dump_stream,
+                                   const char *uuid,
+                                   apr_pool_t *pool);
+
 /* Write a revision record to DUMP_STREAM for revision REVISION with revision
  * properies REVPROPS, creating appropriate headers.
  *
@@ -349,6 +367,27 @@ svn_repos__dump_node_record(svn_stream_t
                             svn_boolean_t content_length_always,
                             apr_pool_t *scratch_pool);
 
+/**
+ * Get a dump editor @a editor along with a @a edit_baton allocated in
+ * @a pool.  The editor will write output to @a stream.
+ *
+ * @a update_anchor_relpath is the repository relative path of the
+ * anchor of the update-style drive which will happen on @a *editor;
+ * if a replay-style drive will instead be used, it should be passed
+ * as @c NULL.
+ *
+ * In contrast to the dump editor used inside svn_repos_dump_fs4(), this
+ * one supports only deltas mode.
+ *
+ * ### TODO: Unify with the dump editor inside svn_repos_dump_fs4().
+ */
+svn_error_t *
+svn_repos__get_dump_editor(const svn_delta_editor_t **editor,
+                           void **edit_baton,
+                           svn_stream_t *stream,
+                           const char *update_anchor_relpath,
+                           apr_pool_t *pool);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_sorts_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_sorts_private.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_sorts_private.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_sorts_private.h Tue Nov 13 07:49:04 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/mod-dav-svn-expressions/subversion/include/private/svn_subr_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_subr_private.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_subr_private.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_subr_private.h Tue Nov 13 07:49:04 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;
 
@@ -738,6 +738,14 @@ const char *svn_zlib__compiled_version(v
 /* Return the zlib version we run against. */
 const char *svn_zlib__runtime_version(void);
 
+/* Return the lz4 version we compiled against. */
+const char *svn_lz4__compiled_version(void);
+
+/* Return the lz4 version we run against as a composed value:
+ * major * 100 * 100 + minor * 100 + release
+ */
+int svn_lz4__runtime_version(void);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_wc_private.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/private/svn_wc_private.h Tue Nov 13 07:49:04 2018
@@ -348,6 +348,22 @@ svn_wc__get_wcroot(const char **wcroot_a
                    apr_pool_t *result_pool,
                    apr_pool_t *scratch_pool);
 
+/** Set @a *dir to the abspath of the directory in which shelved patches
+ * are stored, which is inside the WC's administrative directory, and ensure
+ * the directory exists.
+ *
+ * @a local_abspath is any path in the WC, and is used to find the WC root.
+ *
+ * @warning EXPERIMENTAL.
+ */
+SVN_EXPERIMENTAL
+svn_error_t *
+svn_wc__get_shelves_dir(char **dir,
+                        svn_wc_context_t *wc_ctx,
+                        const char *local_abspath,
+                        apr_pool_t *result_pool,
+                        apr_pool_t *scratch_pool);
+
 /**
  * The following are temporary APIs to aid in the transition from wc-1 to
  * wc-ng.  Use them for new development now, but they may be disappearing
@@ -523,7 +539,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
@@ -601,6 +617,24 @@ svn_wc__node_get_base(svn_node_kind_t *k
                       apr_pool_t *scratch_pool);
 
 
+/* Return an array of const char * elements, which represent local absolute
+ * paths for nodes, within the working copy indicated by WRI_ABSPATH, which
+ * have a basename matching BASENAME and have node kind KIND.
+ * If no such nodes exist, return an empty array.
+ *
+ * This function returns only paths to nodes which are present in the highest
+ * layer of the WC. In other words, paths to deleted and/or excluded nodes are
+ * never returned.
+ */
+svn_error_t *
+svn_wc__find_working_nodes_with_basename(apr_array_header_t **abspaths,
+                                         const char *wri_abspath,
+                                         const char *basename,
+                                         svn_node_kind_t kind,
+                                         svn_wc_context_t *wc_ctx,
+                                         apr_pool_t *result_pool,
+                                         apr_pool_t *scratch_pool);
+
 /* Get the working revision of @a local_abspath using @a wc_ctx. If @a
  * local_abspath is not in the working copy, return @c
  * SVN_ERR_WC_PATH_NOT_FOUND.
@@ -1925,7 +1959,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.
  *
@@ -1935,10 +1969,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,
@@ -2030,15 +2064,19 @@ svn_wc__acquire_write_lock_for_resolve(c
 
 /* The implemementation of svn_wc_diff6(), but reporting to a diff processor
  *
- * If ROOT_RELPATH is not NULL, set *ROOT_RELPATH to the target of the diff
- * within the diff namespace. ("" or a single path component).
+ * New mode, when ANCHOR_AT_GIVEN_PATHS is true:
+ *
+ *   Anchor the DIFF_PROCESSOR at LOCAL_ABSPATH.
+ *
+ * Backward compatibility mode for svn_wc_diff6(),
+ * when ANCHOR_AT_GIVEN_PATHS is false:
  *
- * If ROOT_IS_FILE is NOT NULL set it
- * the first processor call. (The anchor is LOCAL_ABSPATH or an ancestor of it)
+ *   Send diff processor relpaths relative to LOCAL_ABSPATH if it is a
+ *   directory; otherwise, relative to the parent of LOCAL_ABSPATH.
+ *   This matches the "anchor and target" semantics of svn_wc_diff6().
  */
 svn_error_t *
-svn_wc__diff7(const char **root_relpath,
-              svn_boolean_t *root_is_dir,
+svn_wc__diff7(svn_boolean_t anchor_at_given_paths,
               svn_wc_context_t *wc_ctx,
               const char *local_abspath,
               svn_depth_t depth,

Modified: subversion/branches/mod-dav-svn-expressions/subversion/include/svn_base64.h
URL: http://svn.apache.org/viewvc/subversion/branches/mod-dav-svn-expressions/subversion/include/svn_base64.h?rev=1846488&r1=1846487&r2=1846488&view=diff
==============================================================================
--- subversion/branches/mod-dav-svn-expressions/subversion/include/svn_base64.h (original)
+++ subversion/branches/mod-dav-svn-expressions/subversion/include/svn_base64.h Tue Nov 13 07:49:04 2018
@@ -51,6 +51,8 @@ extern "C" {
  * stream will only consist of base64 encoding characters. Be sure to close
  * the stream when done writing in order to squeeze out the last bit of
  * encoded data.  The stream is allocated in @a pool.
+ *
+ * @since New in 1.10.
  */
 svn_stream_t *
 svn_base64_encode2(svn_stream_t *output,