You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ko...@apache.org on 2022/11/21 15:05:53 UTC

svn commit: r1905437 - in /subversion/branches/pristines-on-demand-on-mwf: ./ subversion/include/ subversion/libsvn_client/ subversion/libsvn_delta/ subversion/libsvn_fs_base/ subversion/libsvn_fs_fs/ subversion/libsvn_fs_x/ subversion/libsvn_wc/ subve...

Author: kotkov
Date: Mon Nov 21 15:05:53 2022
New Revision: 1905437

URL: http://svn.apache.org/viewvc?rev=1905437&view=rev
Log:
On the 'pristines-on-demand-on-mwf' branch: Sync with trunk@1905436.

Modified:
    subversion/branches/pristines-on-demand-on-mwf/   (props changed)
    subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_delta.h
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/blame.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/export.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/repos_diff.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/wc_editor.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/compat.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/text_delta.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_base/tree.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_fs/tree.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_x/   (props changed)
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_x/tree.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/diff_editor.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/externals.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/update_editor.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_client/mtcc-test.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_delta/random-test.c
    subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_fs/fs-test.c
    subversion/branches/pristines-on-demand-on-mwf/tools/dev/unix-build/Makefile.svn

Propchange: subversion/branches/pristines-on-demand-on-mwf/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1905381-1905436

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_delta.h
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_delta.h?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_delta.h (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_delta.h Mon Nov 21 15:05:53 2022
@@ -490,18 +490,37 @@ svn_txdelta_send_contents(const unsigned
  * MD5 digest of the resulting fulltext.
  *
  * If @a error_info is non-NULL, it is inserted parenthetically into
- * the error string for any error returned by svn_txdelta_apply() or
+ * the error string for any error returned by svn_txdelta_apply2() or
  * @a *handler.  (It is normally used to provide path information,
  * since there's nothing else in the delta application's context to
  * supply a path for error messages.)
  *
- * The @a source stream will NOT be closed. The @a target stream will be
- * closed when the window handler is given a null window to signal the
- * end of the delta.
+ * @note both @a source and @a target will be closed when the window
+ * handler is given a null window to signal the end of the delta.
+ * If the closure is not desired, then you can use svn_stream_disown()
+ * to protect either or both of the streams from being closed.
  *
  * @note To avoid lifetime issues, @a error_info is copied into
  * @a pool or a subpool thereof.
+ *
+ * @since New in 1.15.
+ */
+void
+svn_txdelta_apply2(svn_stream_t *source,
+                   svn_stream_t *target,
+                   unsigned char *result_digest,
+                   const char *error_info,
+                   apr_pool_t *pool,
+                   svn_txdelta_window_handler_t *handler,
+                   void **handler_baton);
+
+/** Similar to svn_txdelta_apply2(), but the @a source stream is NOT closed.
+ * The @a target stream will be closed when the window handler is given
+ * a null window to signal the end of the delta.
+ *
+ * @deprecated Provided for backward compatibility with the 1.14 API.
  */
+SVN_DEPRECATED
 void
 svn_txdelta_apply(svn_stream_t *source,
                   svn_stream_t *target,

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/blame.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/blame.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/blame.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/blame.c Mon Nov 21 15:05:53 2022
@@ -572,10 +572,12 @@ file_rev_handler(void *baton, const char
     {
       /* Proper delta - get window handler for applying delta.
          svn_ra_get_file_revs2 will drive the delta editor. */
-      svn_txdelta_apply(last_stream, cur_stream, NULL, NULL,
-                        frb->currpool,
-                        &delta_baton->wrapped_handler,
-                        &delta_baton->wrapped_baton);
+      /* Keep historical behavior by disowning the stream; adjust if needed. */
+      svn_txdelta_apply2(svn_stream_disown(last_stream, frb->currpool),
+                         cur_stream, NULL, NULL,
+                         frb->currpool,
+                         &delta_baton->wrapped_handler,
+                         &delta_baton->wrapped_baton);
       *content_delta_handler = window_handler;
       *content_delta_baton = delta_baton;
     }

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/export.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/export.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/export.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/export.c Mon Nov 21 15:05:53 2022
@@ -741,10 +741,10 @@ apply_textdelta(void *file_baton,
 
   SVN_ERR(open_working_file_writer(&fb->file_writer, fb, fb->pool, pool));
 
-  svn_txdelta_apply(svn_stream_empty(pool),
-                    svn_wc__working_file_writer_get_stream(fb->file_writer),
-                    fb->text_digest, NULL, pool,
-                    &hb->apply_handler, &hb->apply_baton);
+  svn_txdelta_apply2(svn_stream_empty(pool),
+                     svn_wc__working_file_writer_get_stream(fb->file_writer),
+                     fb->text_digest, NULL, pool,
+                     &hb->apply_handler, &hb->apply_baton);
 
   *handler_baton = hb;
   *handler = window_handler;

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/repos_diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/repos_diff.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/repos_diff.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/repos_diff.c Mon Nov 21 15:05:53 2022
@@ -941,11 +941,12 @@ apply_textdelta(void *file_baton,
   result_stream = svn_stream_lazyopen_create(lazy_open_result, fb, TRUE,
                                              scratch_pool);
 
-  svn_txdelta_apply(src_stream,
-                    result_stream,
-                    fb->result_digest,
-                    fb->path, fb->pool,
-                    &(fb->apply_handler), &(fb->apply_baton));
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(src_stream, fb->pool),
+                     result_stream,
+                     fb->result_digest,
+                     fb->path, fb->pool,
+                     &(fb->apply_handler), &(fb->apply_baton));
 
   *handler = window_handler;
   *handler_baton = file_baton;

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/wc_editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/wc_editor.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/wc_editor.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_client/wc_editor.c Mon Nov 21 15:05:53 2022
@@ -495,13 +495,14 @@ file_textdelta(void *file_baton,
                                  target_dir, svn_io_file_del_none,
                                  fb->pool, fb->pool));
 
-  svn_txdelta_apply(fb->wc_file_read_stream,
-                    fb->tmp_file_write_stream,
-                    fb->digest,
-                    fb->local_abspath,
-                    fb->pool,
-                    /* Provide the handler directly */
-                    handler, handler_baton);
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(fb->wc_file_read_stream, fb->pool),
+                     fb->tmp_file_write_stream,
+                     fb->digest,
+                     fb->local_abspath,
+                     fb->pool,
+                     /* Provide the handler directly */
+                     handler, handler_baton);
 
   return SVN_NO_ERROR;
 }

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/compat.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/compat.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/compat.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/compat.c Mon Nov 21 15:05:53 2022
@@ -854,10 +854,12 @@ ev2_apply_textdelta(void *file_baton,
   target = svn_stream_lazyopen_create(open_delta_target, change,
                                       FALSE, fb->eb->edit_pool);
 
-  svn_txdelta_apply(hb->source, target,
-                    NULL, NULL,
-                    handler_pool,
-                    &hb->apply_handler, &hb->apply_baton);
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(hb->source, handler_pool),
+                     target,
+                     NULL, NULL,
+                     handler_pool,
+                     &hb->apply_handler, &hb->apply_baton);
 
   hb->pool = handler_pool;
 

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/text_delta.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/text_delta.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/text_delta.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_delta/text_delta.c Mon Nov 21 15:05:53 2022
@@ -736,6 +736,7 @@ apply_window(svn_txdelta_window_t *windo
                    svn_checksum_size(md5_checksum));
         }
 
+      err = svn_error_compose_create(err, svn_stream_close(ab->source));
       err = svn_error_compose_create(err, svn_stream_close(ab->target));
       svn_pool_destroy(ab->pool);
 
@@ -804,13 +805,13 @@ apply_window(svn_txdelta_window_t *windo
 
 
 void
-svn_txdelta_apply(svn_stream_t *source,
-                  svn_stream_t *target,
-                  unsigned char *result_digest,
-                  const char *error_info,
-                  apr_pool_t *pool,
-                  svn_txdelta_window_handler_t *handler,
-                  void **handler_baton)
+svn_txdelta_apply2(svn_stream_t *source,
+                   svn_stream_t *target,
+                   unsigned char *result_digest,
+                   const char *error_info,
+                   apr_pool_t *pool,
+                   svn_txdelta_window_handler_t *handler,
+                   void **handler_baton)
 {
   apr_pool_t *subpool = svn_pool_create(pool);
   struct apply_baton *ab;
@@ -839,6 +840,24 @@ svn_txdelta_apply(svn_stream_t *source,
   *handler_baton = ab;
 }
 
+void
+svn_txdelta_apply(svn_stream_t *source,
+                  svn_stream_t *target,
+                  unsigned char *result_digest,
+                  const char *error_info,
+                  apr_pool_t *pool,
+                  svn_txdelta_window_handler_t *handler,
+                  void **handler_baton)
+{
+  svn_txdelta_apply2(svn_stream_disown(source, pool),
+                     target,
+                     result_digest,
+                     error_info,
+                     pool,
+                     handler,
+                     handler_baton);
+}
+
 
 
 /* Convenience routines */

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_base/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_base/tree.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_base/tree.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_base/tree.c Mon Nov 21 15:05:53 2022
@@ -3845,13 +3845,14 @@ txn_body_apply_textdelta(void *baton, tr
   svn_stream_set_write(tb->string_stream, write_to_string);
 
   /* Now, create a custom window handler that uses our two streams. */
-  svn_txdelta_apply(tb->source_stream,
-                    tb->string_stream,
-                    NULL,
-                    tb->path,
-                    tb->pool,
-                    &(tb->interpreter),
-                    &(tb->interpreter_baton));
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(tb->source_stream, tb->pool),
+                     tb->string_stream,
+                     NULL,
+                     tb->path,
+                     tb->pool,
+                     &(tb->interpreter),
+                     &(tb->interpreter_baton));
 
   return SVN_NO_ERROR;
 }

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_fs/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_fs/tree.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_fs/tree.c Mon Nov 21 15:05:53 2022
@@ -3066,13 +3066,14 @@ apply_textdelta(void *baton, apr_pool_t
                                          tb->pool));
 
   /* Now, create a custom window handler that uses our two streams. */
-  svn_txdelta_apply(tb->source_stream,
-                    tb->target_stream,
-                    NULL,
-                    tb->path,
-                    tb->pool,
-                    &(tb->interpreter),
-                    &(tb->interpreter_baton));
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(tb->source_stream, tb->pool),
+                     tb->target_stream,
+                     NULL,
+                     tb->path,
+                     tb->pool,
+                     &(tb->interpreter),
+                     &(tb->interpreter_baton));
 
   /* Make a record of this modification in the changes table. */
   return add_change(tb->root->fs, txn_id, tb->path,

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

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_x/tree.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_x/tree.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_x/tree.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_fs_x/tree.c Mon Nov 21 15:05:53 2022
@@ -1976,13 +1976,14 @@ apply_textdelta(void *baton,
                                         tb->pool));
 
   /* Now, create a custom window handler that uses our two streams. */
-  svn_txdelta_apply(tb->source_stream,
-                    tb->target_stream,
-                    NULL,
-                    tb->path,
-                    tb->pool,
-                    &(tb->interpreter),
-                    &(tb->interpreter_baton));
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(tb->source_stream, tb->pool),
+                     tb->target_stream,
+                     NULL,
+                     tb->path,
+                     tb->pool,
+                     &(tb->interpreter),
+                     &(tb->interpreter_baton));
 
   /* Make a record of this modification in the changes table. */
   return add_change(tb->root->fs, txn_id, tb->path,

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/diff_editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/diff_editor.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/diff_editor.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/diff_editor.c Mon Nov 21 15:05:53 2022
@@ -2136,11 +2136,13 @@ apply_textdelta(void *file_baton,
                                  svn_io_file_del_on_pool_cleanup,
                                  fb->pool, fb->pool));
 
-  svn_txdelta_apply(source, temp_stream,
-                    fb->result_digest,
-                    fb->local_abspath /* error_info */,
-                    fb->pool,
-                    handler, handler_baton);
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(source, fb->pool),
+                     temp_stream,
+                     fb->result_digest,
+                     fb->local_abspath /* error_info */,
+                     fb->pool,
+                     handler, handler_baton);
 
   return SVN_NO_ERROR;
 }

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/externals.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/externals.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/externals.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/externals.c Mon Nov 21 15:05:53 2022
@@ -648,8 +648,8 @@ apply_textdelta(void *file_baton,
                                            TRUE,
                                            eb->pool, pool));
 
-  svn_txdelta_apply(src_stream, dest_stream, NULL, eb->local_abspath, pool,
-                    handler, handler_baton);
+  svn_txdelta_apply2(src_stream, dest_stream, NULL, eb->local_abspath, pool,
+                     handler, handler_baton);
 
   return SVN_NO_ERROR;
 }

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/update_editor.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/update_editor.c Mon Nov 21 15:05:53 2022
@@ -3940,11 +3940,12 @@ apply_textdelta(void *file_baton,
   target = svn_stream_lazyopen_create(lazy_open_target, hb, TRUE, handler_pool);
 
   /* Prepare to apply the delta.  */
-  svn_txdelta_apply(source, target,
-                    hb->new_text_base_md5_digest,
-                    fb->local_abspath /* error_info */,
-                    handler_pool,
-                    &hb->apply_handler, &hb->apply_baton);
+  /* Keep historical behavior by disowning the stream; adjust if needed. */
+  svn_txdelta_apply2(svn_stream_disown(source, handler_pool), target,
+                     hb->new_text_base_md5_digest,
+                     fb->local_abspath /* error_info */,
+                     handler_pool,
+                     &hb->apply_handler, &hb->apply_baton);
 
   hb->pool = handler_pool;
   hb->fb = fb;

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_client/mtcc-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_client/mtcc-test.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_client/mtcc-test.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_client/mtcc-test.c Mon Nov 21 15:05:53 2022
@@ -563,11 +563,11 @@ handle_rev(void *baton,
 
       svn_stringbuf_setempty(hrb->cur);
 
-      svn_txdelta_apply(svn_stream_from_stringbuf(hrb->prev, pool),
-                        svn_stream_from_stringbuf(hrb->cur, pool),
-                        NULL, NULL, pool,
-                        &hrb->inner_handler,
-                        &hrb->inner_baton);
+      svn_txdelta_apply2(svn_stream_from_stringbuf(hrb->prev, pool),
+                         svn_stream_from_stringbuf(hrb->cur, pool),
+                         NULL, NULL, pool,
+                         &hrb->inner_handler,
+                         &hrb->inner_baton);
     }
 
   hrb->last = rev;

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_delta/random-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_delta/random-test.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_delta/random-test.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_delta/random-test.c Mon Nov 21 15:05:53 2022
@@ -320,9 +320,9 @@ do_random_test(apr_pool_t *pool,
       apr_pool_t *delta_pool = svn_pool_create(pool);
 
       /* Make stage 4: apply the text delta.  */
-      svn_txdelta_apply(svn_stream_from_aprfile(source_copy, delta_pool),
-                        svn_stream_from_aprfile(target_regen, delta_pool),
-                        NULL, NULL, delta_pool, &handler, &handler_baton);
+      svn_txdelta_apply2(svn_stream_from_aprfile(source_copy, delta_pool),
+                         svn_stream_from_aprfile(target_regen, delta_pool),
+                         NULL, NULL, delta_pool, &handler, &handler_baton);
 
       /* Make stage 3: reparse the text delta.  */
       stream = svn_txdelta_parse_svndiff(handler, handler_baton, TRUE,
@@ -416,9 +416,9 @@ do_random_combine_test(apr_pool_t *pool,
       apr_pool_t *delta_pool = svn_pool_create(pool);
 
       /* Make stage 4: apply the text delta.  */
-      svn_txdelta_apply(svn_stream_from_aprfile(source_copy, delta_pool),
-                        svn_stream_from_aprfile(target_regen, delta_pool),
-                        NULL, NULL, delta_pool, &handler, &handler_baton);
+      svn_txdelta_apply2(svn_stream_from_aprfile(source_copy, delta_pool),
+                         svn_stream_from_aprfile(target_regen, delta_pool),
+                         NULL, NULL, delta_pool, &handler, &handler_baton);
 
       /* Make stage 3: reparse the text delta.  */
       stream = svn_txdelta_parse_svndiff(handler, handler_baton, TRUE,
@@ -574,9 +574,9 @@ do_random_txdelta_to_svndiff_stream_test
 
       /* Apply it to a copy of the source file to see if we get the
          same target back. */
-      svn_txdelta_apply(svn_stream_from_aprfile2(source_copy, TRUE, iterpool),
-                        svn_stream_from_aprfile2(new_target, TRUE, iterpool),
-                        NULL, NULL, iterpool, &handler, &handler_baton);
+      svn_txdelta_apply2(svn_stream_from_aprfile2(source_copy, TRUE, iterpool),
+                         svn_stream_from_aprfile2(new_target, TRUE, iterpool),
+                         NULL, NULL, iterpool, &handler, &handler_baton);
       push_stream = svn_txdelta_parse_svndiff(handler, handler_baton, TRUE,
                                               iterpool);
       SVN_ERR(svn_stream_copy3(delta_stream, push_stream, NULL, NULL,

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_fs/fs-test.c
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_fs/fs-test.c?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_fs/fs-test.c (original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/tests/libsvn_fs/fs-test.c Mon Nov 21 15:05:53 2022
@@ -6596,9 +6596,9 @@ test_delta_file_stream(const svn_test_op
   svn_stringbuf_setempty(source);
   svn_stringbuf_setempty(dest);
 
-  svn_txdelta_apply(svn_stream_from_stringbuf(source, subpool),
-                    svn_stream_from_stringbuf(dest, subpool),
-                    NULL, NULL, subpool, &delta_handler, &delta_baton);
+  svn_txdelta_apply2(svn_stream_from_stringbuf(source, subpool),
+                     svn_stream_from_stringbuf(dest, subpool),
+                     NULL, NULL, subpool, &delta_handler, &delta_baton);
   SVN_ERR(svn_txdelta_send_txstream(delta_stream,
                                     delta_handler,
                                     delta_baton,
@@ -6613,9 +6613,9 @@ test_delta_file_stream(const svn_test_op
   svn_stringbuf_set(source, old_content);
   svn_stringbuf_setempty(dest);
 
-  svn_txdelta_apply(svn_stream_from_stringbuf(source, subpool),
-                    svn_stream_from_stringbuf(dest, subpool),
-                    NULL, NULL, subpool, &delta_handler, &delta_baton);
+  svn_txdelta_apply2(svn_stream_from_stringbuf(source, subpool),
+                     svn_stream_from_stringbuf(dest, subpool),
+                     NULL, NULL, subpool, &delta_handler, &delta_baton);
   SVN_ERR(svn_txdelta_send_txstream(delta_stream,
                                     delta_handler,
                                     delta_baton,
@@ -6630,9 +6630,9 @@ test_delta_file_stream(const svn_test_op
   svn_stringbuf_set(source, new_content);
   svn_stringbuf_setempty(dest);
 
-  svn_txdelta_apply(svn_stream_from_stringbuf(source, subpool),
-                    svn_stream_from_stringbuf(dest, subpool),
-                    NULL, NULL, subpool, &delta_handler, &delta_baton);
+  svn_txdelta_apply2(svn_stream_from_stringbuf(source, subpool),
+                     svn_stream_from_stringbuf(dest, subpool),
+                     NULL, NULL, subpool, &delta_handler, &delta_baton);
   SVN_ERR(svn_txdelta_send_txstream(delta_stream,
                                     delta_handler,
                                     delta_baton,

Modified: subversion/branches/pristines-on-demand-on-mwf/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/tools/dev/unix-build/Makefile.svn?rev=1905437&r1=1905436&r2=1905437&view=diff
==============================================================================
--- subversion/branches/pristines-on-demand-on-mwf/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/pristines-on-demand-on-mwf/tools/dev/unix-build/Makefile.svn Mon Nov 21 15:05:53 2022
@@ -120,13 +120,12 @@ PCRE_VER	= 8.41
 HTTPD_VER	= 2.4.37
 NEON_VER	= 0.30.2
 SERF_VER	= 1.3.9
-SERF_OLD_VER	= 0.3.1
-CYRUS_SASL_VER	= 2.1.25
+CYRUS_SASL_VER	= 2.1.28
 SQLITE_VER	= 3160200
 LIBMAGIC_VER	= 5.30
 RUBY_VER	= 2.7.4
 BZ2_VER	= 1.0.6
-PYTHON_VER	= 3.7.5
+PYTHON_VER	= 3.10.8
 PYTHON2_VER	= 2.7.13
 PY3C_VER	= 1.1
 JUNIT_VER	= 4.10
@@ -159,12 +158,12 @@ SHA256_${GNU_ICONV_DIST} = ccf536620a454
 SHA256_${PCRE_DIST} = 244838e1f1d14f7e2fa7681b857b3a8566b74215f28133f14a8f5e59241b682c
 SHA256_${HTTPD_DIST} = aa97a834a32d51974be8d8a013b561e28d327387cb1da2c3c2762acd0146aabd
 SHA256_${NEON_DIST} = db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca
-SHA256_${CYRUS_SASL_DIST} = 418c16e6240a4f9b637cbe3d62937b9675627bad27c622191d47de8686fe24fe
+SHA256_${CYRUS_SASL_DIST} = 7ccfc6abd01ed67c1a0924b353e526f1b766b21f42d4562ee635a8ebfc5bb38c
 SHA256_${SQLITE_DIST} = 65cc0c3e9366f50c0679c5ccd31432cea894bc4a3e8947dabab88c8693263615
 SHA256_${LIBMAGIC_DIST} = 694c2432e5240187524c9e7cf1ec6acc77b47a0e19554d34c14773e43dbbf214
 SHA256_${RUBY_DIST} = 3043099089608859fc8cce7f9fdccaa1f53a462457e3838ec3b25a7d609fbc5b
 SHA256_${BZ2_DIST} = a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd
-SHA256_${PYTHON_DIST} = 8ecc681ea0600bbfb366f2b173f727b205bb825d93d2f0b286bc4e58d37693da
+SHA256_${PYTHON_DIST} = f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a
 SHA256_${PYTHON2_DIST} = a4f05a0720ce0fd92626f0278b6b433eee9a6173ddf2bced7957dfb599a5ece1
 SHA256_${PY3C_DIST} = c7ffc22bc92dded0ca859db53ef3a0b466f89a9f8aad29359c9fe4ff18ebdd20
 SHA256_${JUNIT_DIST} = 36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a
@@ -216,7 +215,6 @@ HTTPD_URL	= https://archive.apache.org/d
 #NEON_URL	= http://webdav.org/neon/$(NEON_DIST)
 NEON_URL	= http://ftp.openbsd.org/pub/OpenBSD/distfiles/$(NEON_DIST)
 SERF_URL	= https://svn.apache.org/repos/asf/serf/tags/$(SERF_VER)
-SERF_OLD_URL	= https://svn.apache.org/repos/asf/serf/tags/$(SERF_OLD_VER)
 SQLITE_URL	= https://www.sqlite.org/2017/$(SQLITE_DIST)
 CYRUS_SASL_URL	= https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-${CYRUS_SASL_VER}/$(CYRUS_SASL_DIST)
 LIBMAGIC_URL	= ftp://ftp.astron.com/pub/file/$(LIBMAGIC_DIST)
@@ -240,7 +238,6 @@ PCRE_SRCDIR	= $(SRCDIR)/pcre-$(PCRE_VER)
 HTTPD_SRCDIR	= $(SRCDIR)/httpd-$(HTTPD_VER)
 NEON_SRCDIR	= $(SRCDIR)/neon-$(NEON_VER)
 SERF_SRCDIR	= $(SRCDIR)/serf-$(SERF_VER)
-SERF_OLD_SRCDIR	= $(SRCDIR)/serf-$(SERF_OLD_VER)
 SQLITE_SRCDIR	= $(SRCDIR)/sqlite-autoconf-$(SQLITE_VER)
 CYRUS_SASL_SRCDIR	= $(SRCDIR)/cyrus-sasl-$(CYRUS_SASL_VER)
 LIBMAGIC_SRCDIR	= $(SRCDIR)/file-$(LIBMAGIC_VER)
@@ -263,7 +260,6 @@ PCRE_OBJDIR	= $(OBJDIR)/pcre-$(PCRE_VER)
 HTTPD_OBJDIR	= $(OBJDIR)/httpd-$(HTTPD_VER)
 NEON_OBJDIR	= $(OBJDIR)/neon-$(NEON_VER)
 SERF_OBJDIR	= $(OBJDIR)/serf-$(SERF_VER)
-SERF_OLD_OBJDIR	= $(OBJDIR)/serf-$(SERF_OLD_VER)
 SQLITE_OBJDIR	= $(OBJDIR)/sqlite-$(SQLITE_VER)
 CYRUS_SASL_OBJDIR	= $(OBJDIR)/cyrus-sasl-$(CYRUS_SASL_VER)
 LIBMAGIC_OBJDIR	= $(OBJDIR)/file-$(LIBMAGIC_VER)
@@ -300,7 +296,7 @@ PKG_CONFIG_PATH=$(PREFIX)/apr/lib/pkgcon
 .PHONY: all reset clean nuke fetch
 
 all: dirs-create bdb-install apr-install iconv-install apr-util-install \
-	pcre-install httpd-install neon-install serf-install serf-old-install \
+	pcre-install httpd-install neon-install serf-install \
 	sqlite-install cyrus-sasl-install libmagic-install \
 	ruby-install bz2-install python-install python2-install py3c-retrieve \
 	gettext-install lz4-install swig-old-install svn-install \
@@ -308,13 +304,13 @@ all: dirs-create bdb-install apr-install
 
 # Use these to start a build from the beginning.
 reset: dirs-reset bdb-reset apr-reset iconv-reset apr-util-reset \
-	pcre-reset httpd-reset neon-reset serf-reset serf-old-reset \
+	pcre-reset httpd-reset neon-reset serf-reset \
 	sqlite-reset cyrus-sasl-reset libmagic-reset ruby-reset python-reset \
 	python2-reset bz2-reset gettext-reset lz4-reset swig-old-reset svn-reset
 
 # Use to save disk space.
 clean: bdb-clean apr-clean iconv-clean apr-util-clean pcre-clean httpd-clean \
-	neon-clean serf-clean serf-old-clean sqlite-clean cyrus-sasl-clean \
+	neon-clean serf-clean sqlite-clean cyrus-sasl-clean \
 	libmagic-clean ruby-clean bz2-clean python-clean python2-clean \
 	gettext-clean lz4-clean swig-old-clean svn-clean
 
@@ -937,6 +933,8 @@ $(SERF_OBJDIR)/.retrieved:
 	if [ ! -d $(SERF_SRCDIR) ]; then \
 		svn co $(SERF_URL) $(SERF_SRCDIR); \
 		svn merge ^/serf/branches/1.3.x-sslbuild@1781542 $(SERF_SRCDIR); \
+		svn merge -c 1811083 ^/serf/trunk@1811083 $(SERF_SRCDIR); \
+		svn merge -c 1814604 ^/serf/trunk@1814604 $(SERF_SRCDIR); \
 	fi
 	touch $@
 
@@ -945,7 +943,7 @@ $(SERF_OBJDIR)/.compiled: $(SERF_OBJDIR)
 	$(APR_UTIL_OBJDIR)/.installed
 	cd $(SERF_SRCDIR) && \
 		scons -j${MAKE_JOBS} DEBUG=1 \
-			CFLAGS="-O0 -g $(PROFILE_CFLAGS) -DAPR_POOL_DEBUG" \
+			CFLAGS="-O0 -g $(PROFILE_CFLAGS) -fPIC -DAPR_POOL_DEBUG" \
 			CC=$(CC) CXX=$(CXX) \
 			APR=$(PREFIX)/apr \
 			APU=$(PREFIX)/apr \
@@ -961,53 +959,11 @@ $(SERF_OBJDIR)/.installed: $(SERF_OBJDIR
 	# work around unportable scons shared lib support
 	-ln -s libserf-1.so.$(shell echo $(SERF_VER) | sed -e 's/[0-9]$$/0/') \
 		$(PREFIX)/serf/lib/libserf-1.so
+	-ln -s libserf-1.so.$(shell echo $(SERF_VER) | sed -e 's/[0-9]$$/0/') \
+		$(PREFIX)/serf/lib/libserf-1.so.$(shell echo $(SERF_VER) | sed -e 's/\.[0-9]$$//')
 	touch $@
 
 #######################################################################
-# serf-old (compatible with Subversion 1.5)
-#######################################################################
-
-serf-old-retrieve:	$(SERF_OLD_OBJDIR)/.retrieved
-serf-old-configure:	$(SERF_OLD_OBJDIR)/.configured
-serf-old-compile:	$(SERF_OLD_OBJDIR)/.compiled
-serf-old-install:	$(SERF_OLD_OBJDIR)/.installed
-serf-old-reset:
-	$(foreach f, .retrieved .configured .compiled .installed, \
-		rm -f $(SERF_OLD_OBJDIR)/$(f);)
-
-serf-old-clean:
-	-(cd $(SERF_OLD_SRCDIR) && ./serfmake clean)
-
-# retrieve serf if not present yet
-$(SERF_OLD_OBJDIR)/.retrieved:
-	[ -d $(SERF_OLD_OBJDIR) ] || mkdir -p $(SERF_OLD_OBJDIR)
-	if [ ! -d $(SERF_OLD_SRCDIR) ]; then \
-		svn export $(SERF_OLD_URL) $(SERF_OLD_SRCDIR); \
-	fi
-	touch $@
-
-# compile serf (serf won't compile outside its source tree)
-$(SERF_OLD_OBJDIR)/.compiled: $(SERF_OLD_OBJDIR)/.retrieved \
-	$(APR_UTIL_OBJDIR)/.installed
-	cd $(SERF_OLD_SRCDIR) && \
-		env CFLAGS="-O0 -g $(PROFILE_CFLAGS) -DAPR_POOL_DEBUG" \
-			CC=$(CC) CXX=$(CXX) \
-			./serfmake --with-apr=$(PREFIX)/apr \
-			--prefix=$(PREFIX)/serf-old \
-			build
-	touch $@
-
-# install serf
-$(SERF_OLD_OBJDIR)/.installed: $(SERF_OLD_OBJDIR)/.compiled
-	cd $(SERF_OLD_SRCDIR) && \
-		./serfmake --with-apr=$(PREFIX)/apr \
-			--with-apr-util=$(PREFIX)/apr \
-			--prefix=$(PREFIX)/serf-old \
-			install
-	touch $@
-
-
-#######################################################################
 # sqlite
 #######################################################################
 
@@ -1106,6 +1062,8 @@ endif
 		$(CYRUS_SASL_SRCDIR)/lib/dlopen.c
 	# Fix a weird autotools error about missing cmulocal dir
 	(cd $(CYRUS_SASL_SRCDIR)/saslauthd/ && ln -sf ../cmulocal)
+	# Fix 64-bit time_t format-string issues
+	sed -i 's/t%020ld"/t%020lld"/' $(CYRUS_SASL_SRCDIR)/plugins/otp.c
 	touch $@
 
 # configure cyrus-sasl
@@ -1113,8 +1071,7 @@ $(CYRUS_SASL_OBJDIR)/.configured: $(CYRU
 	$(BDB_OBJDIR)/.installed $(SQLITE_OBJDIR)/.installed
 	cd $(CYRUS_SASL_OBJDIR) \
 		&& env CFLAGS="-g $(PROFILE_CFLAGS)" \
-		CPPFLAGS="-I/usr/include/kerberosV" \
-		CC=$(CC) CXX=$(CXX) \
+		CC=$(CC) CXX=$(CXX) MAKE=$(MAKE) \
 		GREP="`which grep`" \
 		PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \
 		$(CYRUS_SASL_SRCDIR)/configure \
@@ -1130,12 +1087,12 @@ $(CYRUS_SASL_OBJDIR)/.configured: $(CYRU
 
 # compile cyrus-sasl (ignore MAKE_JOBS; multiple jobs cause random build failures)
 $(CYRUS_SASL_OBJDIR)/.compiled: $(CYRUS_SASL_OBJDIR)/.configured
-	(cd $(CYRUS_SASL_OBJDIR) && env MAKEFLAGS= make)
+	(cd $(CYRUS_SASL_OBJDIR) && env MAKE=$(MAKE) MAKEFLAGS= $(MAKE))
 	touch $@
 
 # install cyrus-sasl
 $(CYRUS_SASL_OBJDIR)/.installed: $(CYRUS_SASL_OBJDIR)/.compiled
-	(cd $(CYRUS_SASL_OBJDIR) && env MAKEFLAGS= make install)
+	(cd $(CYRUS_SASL_OBJDIR) && env MAKE=$(MAKE) MAKEFLAGS= $(MAKE) install)
 	touch $@
 
 #######################################################################
@@ -1276,6 +1233,8 @@ $(RUBY_OBJDIR)/.retrieved: $(DISTDIR)/$(
 	$(RUBY_SSL_EX_NEW_DATA_PATCH) $(RUBY_SRCDIR)/ext/openssl/extconf.rb
 	cd $(RUBY_SRCDIR) && patch -p0 < $(RUBY_OBJDIR)/openssl_missing.patch
 	cd $(RUBY_SRCDIR) && patch -p0 < $(RUBY_OBJDIR)/sparc64_buserror.patch
+	sed -i 's/X509_num(bs->certs)/X509_num(OCSP_resp_get0_certs(bs))/' \
+		$(RUBY_SRCDIR)/ext/openssl/ossl_ocsp.c
 	touch $@
 
 ifeq ($(THREADING),yes)
@@ -1366,9 +1325,19 @@ python-clean:
 $(DISTDIR)/$(PYTHON_DIST):
 	cd $(DISTDIR) && $(FETCH_CMD) $(PYTHON_URL)
 
+$(PYTHON_OBJDIR)/openbsd-march.diff:
+	mkdir -p $(dir $@)
+	echo >$@.tmp '--- configure.ac.orig	Mon Nov 21 13:32:19 2022'
+	echo >>$@.tmp '+++ configure.ac	Mon Nov 21 13:32:40 2022'
+	echo >>$@.tmp '@@ -878,2 +878,3 @@'
+	echo >>$@.tmp '   [FreeBSD*], [MULTIARCH=""],'
+	echo >>$@.tmp '+  [OpenBSD*], [MULTIARCH=""],'
+	echo >>$@.tmp '   [MULTIARCH=$$($$CC --print-multiarch 2>/dev/null)]'
+	mv -f $@.tmp $@
+
 # retrieve python
 #
-$(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST)
+$(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/$(PYTHON_DIST) $(PYTHON_OBJDIR)/openbsd-march.diff
 	$(call do_check_sha256,$(PYTHON_DIST))
 	[ -d $(PYTHON_OBJDIR) ] || mkdir -p $(PYTHON_OBJDIR)
 	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(PYTHON_DIST)
@@ -1382,6 +1351,7 @@ $(PYTHON_OBJDIR)/.retrieved: $(DISTDIR)/
 		> $(PYTHON_SRCDIR)/setup.py.patched
 	mv $(PYTHON_SRCDIR)/setup.py.patched $(PYTHON_SRCDIR)/setup.py
 	chmod +x $(PYTHON_SRCDIR)/setup.py
+	cd $(PYTHON_SRCDIR) && patch -p0 < $(PYTHON_OBJDIR)/openbsd-march.diff
 	touch $@
 
 # configure python
@@ -1390,6 +1360,7 @@ PYTHON_PROFILING=--enable-profiling
 endif
 $(PYTHON_OBJDIR)/.configured: $(PYTHON_OBJDIR)/.retrieved \
 	$(BZ2_OBJDIR)/.installed
+	cd $(PYTHON_SRCDIR) && autoconf
 	cd $(PYTHON_OBJDIR) \
 		&& env CFLAGS="-g $(PROFILE_CFLAGS)" GREP="`which grep`" \
 		CC=$(CC) CXX=$(CXX) \
@@ -1740,7 +1711,6 @@ $(SVN_OBJDIR)/.retrieved:
 
 ifeq ($(BRANCH_MAJOR),1.7)
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
-SERF_FLAG=--with-serf="$(PREFIX)/serf"
 SERF_LDFLAG=-Wl,-rpath,$(PREFIX)/serf/lib -Wl,-rpath,$(PREFIX)/bdb/lib
 MOD_DAV_SVN=modules/svn-$(WC)/mod_dav_svn.so
 MOD_AUTHZ_SVN=modules/svn-$(WC)/mod_authz_svn.so
@@ -1751,7 +1721,6 @@ JAVAHL_CHECK_TARGET=check-javahl
 SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
 else ifeq ($(BRANCH_MAJOR),1.6)
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
-SERF_FLAG=--with-serf="$(PREFIX)/serf"
 SERF_LDFLAG=-Wl,-rpath,$(PREFIX)/serf/lib -Wl,-rpath,$(PREFIX)/bdb/lib
 MOD_DAV_SVN=modules/svn-$(WC)/mod_dav_svn.so
 MOD_AUTHZ_SVN=modules/svn-$(WC)/mod_authz_svn.so
@@ -1760,19 +1729,8 @@ W_NO_SYSTEM_HEADERS=-Wno-system-headers
 NEON_FLAG=--with-neon="$(PREFIX)/neon"
 JAVAHL_CHECK_TARGET=check-javahl
 SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
-else ifeq ($(BRANCH_MAJOR),1.5)
-BDB_FLAG=$(PREFIX)/bdb
-SERF_FLAG=--with-serf="$(PREFIX)/serf-old"
-MOD_DAV_SVN=modules/mod_dav_svn.so
-MOD_AUTHZ_SVN=modules/mod_authz_svn.so
-MOD_DONTDOTHAT=modules/mod_dontdothat.so
-DISABLE_NEON_VERSION_CHECK=--disable-neon-version-check
-W_NO_SYSTEM_HEADERS=-Wno-system-headers
-NEON_FLAG=--with-neon="$(PREFIX)/neon"
-JAVAHL_CHECK_TARGET=check-javahl
 else ifeq ($(BRANCH_MAJOR), $(filter 1.8 1.9, $(BRANCH_MAJOR)))
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
-SERF_FLAG=--with-serf="$(PREFIX)/serf"
 # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags,
 # so we have to do that ourselves :(
 SERF_LDFLAG=-Wl,-rpath,$(PREFIX)/serf/lib -Wl,-rpath,$(PREFIX)/bdb/lib
@@ -1784,7 +1742,6 @@ JAVAHL_CHECK_TARGET=check-all-javahl
 SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
 else ifeq ($(BRANCH_MAJOR), $(filter 1.10 1.11, 1.12, 1.13 $(BRANCH_MAJOR)))
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
-SERF_FLAG=--with-serf="$(PREFIX)/serf"
 # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags,
 # so we have to do that ourselves :(
 SERF_LDFLAG=-Wl,-rpath,$(PREFIX)/serf/lib -Wl,-rpath,$(PREFIX)/bdb/lib
@@ -1799,7 +1756,6 @@ UTF8PROC_FLAG=--with-utf8proc=internal
 SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
 else # 1.14, trunk
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
-SERF_FLAG=--with-serf="$(PREFIX)/serf"
 # serf >= 1.3.0 is built with scons and no longer sets up rpath linker flags,
 # so we have to do that ourselves :(
 SERF_LDFLAG=-Wl,-rpath,$(PREFIX)/serf/lib -Wl,-rpath,$(PREFIX)/bdb/lib
@@ -1845,13 +1801,13 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
 	$(BDB_OBJDIR)/.installed $(SQLITE_OBJDIR)/.installed \
 	$(HTTPD_OBJDIR)/.installed $(CYRUS_SASL_OBJDIR)/.installed \
 	$(LIBMAGIC_OBJDIR)/.installed $(NEON_OBJDIR)/.installed \
-	$(SERF_OBJDIR)/.installed $(SERF_OLD_OBJDIR)/.installed \
+	$(SERF_OBJDIR)/.installed \
 	$(RUBY_OBJDIR)/.installed $(PYTHON_OBJDIR)/.installed
 	cd $(SVN_SRCDIR) && ./autogen.sh
 	$(SWIG_PL_INCLUDES_HACK)
 	$(SWIG_PL_LINK_HACK)
 	cd $(svn_builddir) && \
-		env LDFLAGS="-L$(PREFIX)/neon/lib -L$(PREFIX)/apr/lib $(SERF_LDFLAG) $(LZ4_LDFLAG) -L$(PREFIX)/gettext/lib -L$(PREFIX)/iconv/lib" \
+		env LDFLAGS="-L$(PREFIX)/neon/lib -L$(PREFIX)/apr/lib -L$(PREFIX)/serf/lib $(SERF_LDFLAG) $(LZ4_LDFLAG) -L$(PREFIX)/gettext/lib -L$(PREFIX)/iconv/lib" \
 			CC=$(CC) CXX=$(CXX) \
 			CFLAGS="-I$(PREFIX)/gettext/include -DAPR_POOL_DEBUG" \
 			CXXFLAGS="-I$(PREFIX)/gettext/include -DAPR_POOL_DEBUG" \
@@ -1868,7 +1824,7 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
 			$(NEON_FLAG) \
 			$(SVN_WITH_HTTPD) \
 			$(SVN_WITH_SASL) \
-			$(SERF_FLAG) \
+			--with-serf="$(PREFIX)/serf" \
 			--with-sqlite="$(PREFIX)/sqlite" \
 			--with-zlib="/usr" \
 			--without-gnome-keyring \
@@ -1876,6 +1832,7 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
 			--with-ruby-sitedir="$(SVN_PREFIX)/lib/ruby/site_ruby" \
 			--with-py3c="$(SRCDIR)/py3c-${PY3C_VER}" \
 			--disable-mod-activation \
+			--with-boost=no \
 			$(JAVAHL_FLAG) \
 			$(LIBMAGIC_FLAG) \
 			$(LZ4_FLAG) \