You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gs...@apache.org on 2010/04/10 14:51:23 UTC

svn commit: r932713 - in /subversion/trunk/subversion/libsvn_wc: log.c log.h merge.c props.c update_editor.c

Author: gstein
Date: Sat Apr 10 12:51:23 2010
New Revision: 932713

URL: http://svn.apache.org/viewvc?rev=932713&view=rev
Log:
Do the final conversion of all loggy operations to immediate queueing. The
LOG_ACCUM concept is now private to log.c (yay!!).

* subversion/libsvn_wc/log.h:
  (SVN_WC__FLUSH_LOG_ACCUM): remove. no longer needed.
  (svn_wc__loggy_move, svn_wc__loggy_set_entry_timestamp_from_wc,
      svn_wc__loggy_set_entry_working_size_from_wc,
      svn_wc__loggy_set_readonly, svn_wc__loggy_set_timestamp): adjust
    params to remove LOG_ACCUM and RESULT_POOL, and add DB.

* subversion/libsvn_wc/log.c:
  (svn_wc__loggy_append, svn_wc__loggy_translated_file,
      svn_wc__loggy_delete_entry, svn_wc__loggy_delete_lock): rename the
    BUF localvar to LOG_ACCUM for consistency.
  (svn_wc__loggy_move, svn_wc__loggy_set_entry_timestamp_from_wc,
      svn_wc__loggy_set_entry_working_size_from_wc,
      svn_wc__loggy_set_readonly, svn_wc__loggy_set_timestamp): adjust
   params, and internal logic to immediately queue operations.

* subversion/libsvn_wc/merge.c:
  (merge_binary_file): remove LOG_ACCUM localvar, and adjust params to
    loggy_move().

* subversion/libsvn_wc/props.c:
  (svn_wc__loggy_revert_props_create): remove LOG_ACCUM localvar, and
    adjust loggy calls' params.

* subversion/libsvn_wc/update_editor.c:
  (install_text_base, merge_file, svn_wc_add_repos_file4): adjust params
    to various loggy functions, remove calls to add_loggy, and remove the
    LOG_ACCUM localvar.

Modified:
    subversion/trunk/subversion/libsvn_wc/log.c
    subversion/trunk/subversion/libsvn_wc/log.h
    subversion/trunk/subversion/libsvn_wc/merge.c
    subversion/trunk/subversion/libsvn_wc/props.c
    subversion/trunk/subversion/libsvn_wc/update_editor.c

Modified: subversion/trunk/subversion/libsvn_wc/log.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/log.c?rev=932713&r1=932712&r2=932713&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/log.c (original)
+++ subversion/trunk/subversion/libsvn_wc/log.c Sat Apr 10 12:51:23 2010
@@ -694,6 +694,7 @@ loggy_path(const char **logy_path,
   return SVN_NO_ERROR;
 }
 
+
 svn_error_t *
 svn_wc__loggy_append(svn_wc__db_t *db,
                      const char *adm_abspath,
@@ -702,19 +703,19 @@ svn_wc__loggy_append(svn_wc__db_t *db,
 {
   const char *loggy_path1;
   const char *loggy_path2;
-  svn_stringbuf_t *buf = NULL;
+  svn_stringbuf_t *log_accum = NULL;
 
   SVN_ERR_ASSERT(svn_dirent_is_absolute(adm_abspath));
 
   SVN_ERR(loggy_path(&loggy_path1, src, adm_abspath, scratch_pool));
   SVN_ERR(loggy_path(&loggy_path2, dst, adm_abspath, scratch_pool));
-  svn_xml_make_open_tag(&buf, scratch_pool,
+  svn_xml_make_open_tag(&log_accum, scratch_pool,
                         svn_xml_self_closing, SVN_WC__LOG_APPEND,
                         SVN_WC__LOG_ATTR_NAME, loggy_path1,
                         SVN_WC__LOG_ATTR_DEST, loggy_path2,
                         NULL);
 
-  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, buf,
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
                                                scratch_pool));
 }
 
@@ -730,7 +731,7 @@ svn_wc__loggy_translated_file(svn_wc__db
   const char *loggy_path1;
   const char *loggy_path2;
   const char *loggy_path3;
-  svn_stringbuf_t *buf = NULL;
+  svn_stringbuf_t *log_accum = NULL;
 
   SVN_ERR_ASSERT(svn_dirent_is_absolute(adm_abspath));
   SVN_ERR_ASSERT(svn_dirent_is_absolute(dst_abspath));
@@ -742,14 +743,14 @@ svn_wc__loggy_translated_file(svn_wc__db
   SVN_ERR(loggy_path(&loggy_path3, versioned_abspath, adm_abspath,
                      scratch_pool));
 
-  svn_xml_make_open_tag(&buf, scratch_pool, svn_xml_self_closing,
+  svn_xml_make_open_tag(&log_accum, scratch_pool, svn_xml_self_closing,
                         SVN_WC__LOG_CP_AND_TRANSLATE,
                         SVN_WC__LOG_ATTR_NAME, loggy_path1,
                         SVN_WC__LOG_ATTR_DEST, loggy_path2,
                         SVN_WC__LOG_ATTR_ARG_2, loggy_path3,
                         NULL);
 
-  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, buf,
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
                                                scratch_pool));
 }
 
@@ -760,15 +761,15 @@ svn_wc__loggy_delete_entry(svn_wc__db_t 
                            apr_pool_t *scratch_pool)
 {
   const char *loggy_path1;
-  svn_stringbuf_t *buf = NULL;
+  svn_stringbuf_t *log_accum = NULL;
 
   SVN_ERR(loggy_path(&loggy_path1, path, adm_abspath, scratch_pool));
-  svn_xml_make_open_tag(&buf, scratch_pool, svn_xml_self_closing,
+  svn_xml_make_open_tag(&log_accum, scratch_pool, svn_xml_self_closing,
                         SVN_WC__LOG_DELETE_ENTRY,
                         SVN_WC__LOG_ATTR_NAME, loggy_path1,
                         NULL);
 
-  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, buf,
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
                                                scratch_pool));
 }
 
@@ -779,15 +780,15 @@ svn_wc__loggy_delete_lock(svn_wc__db_t *
                           apr_pool_t *scratch_pool)
 {
   const char *loggy_path1;
-  svn_stringbuf_t *buf = NULL;
+  svn_stringbuf_t *log_accum = NULL;
 
   SVN_ERR(loggy_path(&loggy_path1, path, adm_abspath, scratch_pool));
-  svn_xml_make_open_tag(&buf, scratch_pool, svn_xml_self_closing,
+  svn_xml_make_open_tag(&log_accum, scratch_pool, svn_xml_self_closing,
                         SVN_WC__LOG_DELETE_LOCK,
                         SVN_WC__LOG_ATTR_NAME, loggy_path1,
                         NULL);
 
-  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, buf,
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
                                                scratch_pool));
 }
 
@@ -920,12 +921,13 @@ svn_wc__loggy_entry_modify(svn_wc__db_t 
 
 
 svn_error_t *
-svn_wc__loggy_move(svn_stringbuf_t **log_accum,
+svn_wc__loggy_move(svn_wc__db_t *db,
                    const char *adm_abspath,
-                   const char *src_path, const char *dst_path,
-                   apr_pool_t *result_pool,
+                   const char *src_path,
+                   const char *dst_path,
                    apr_pool_t *scratch_pool)
 {
+  svn_stringbuf_t *log_accum = NULL;
   const char *loggy_path1;
   const char *loggy_path2;
   svn_node_kind_t kind;
@@ -941,7 +943,7 @@ svn_wc__loggy_move(svn_stringbuf_t **log
      ### to do some work with it.  */
   SVN_ERR_ASSERT(kind != svn_node_none);
 
-  svn_xml_make_open_tag(log_accum, result_pool,
+  svn_xml_make_open_tag(&log_accum, scratch_pool,
                         svn_xml_self_closing,
                         SVN_WC__LOG_MV,
                         SVN_WC__LOG_ATTR_NAME,
@@ -950,22 +952,23 @@ svn_wc__loggy_move(svn_stringbuf_t **log
                         loggy_path2,
                         NULL);
 
-  return SVN_NO_ERROR;
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
+                                               scratch_pool));
 }
 
 
 svn_error_t *
-svn_wc__loggy_set_entry_timestamp_from_wc(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_entry_timestamp_from_wc(svn_wc__db_t *db,
                                           const char *adm_abspath,
                                           const char *path,
-                                          apr_pool_t *result_pool,
                                           apr_pool_t *scratch_pool)
 {
+  svn_stringbuf_t *log_accum = NULL;
   const char *loggy_path1;
 
   SVN_ERR(loggy_path(&loggy_path1, path, adm_abspath, scratch_pool));
-  svn_xml_make_open_tag(log_accum,
-                        result_pool,
+  svn_xml_make_open_tag(&log_accum,
+                        scratch_pool,
                         svn_xml_self_closing,
                         SVN_WC__LOG_MODIFY_ENTRY,
                         SVN_WC__LOG_ATTR_NAME,
@@ -974,21 +977,22 @@ svn_wc__loggy_set_entry_timestamp_from_w
                         SVN_WC__TIMESTAMP_WC,
                         NULL);
 
-  return SVN_NO_ERROR;
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
+                                               scratch_pool));
 }
 
 svn_error_t *
-svn_wc__loggy_set_entry_working_size_from_wc(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_entry_working_size_from_wc(svn_wc__db_t *db,
                                              const char *adm_abspath,
                                              const char *path,
-                                             apr_pool_t *result_pool,
                                              apr_pool_t *scratch_pool)
 {
+  svn_stringbuf_t *log_accum = NULL;
   const char *loggy_path1;
 
   SVN_ERR(loggy_path(&loggy_path1, path, adm_abspath, scratch_pool));
-  svn_xml_make_open_tag(log_accum,
-                        result_pool,
+  svn_xml_make_open_tag(&log_accum,
+                        scratch_pool,
                         svn_xml_self_closing,
                         SVN_WC__LOG_MODIFY_ENTRY,
                         SVN_WC__LOG_ATTR_NAME,
@@ -997,43 +1001,45 @@ svn_wc__loggy_set_entry_working_size_fro
                         SVN_WC__WORKING_SIZE_WC,
                         NULL);
 
-  return SVN_NO_ERROR;
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
+                                               scratch_pool));
 }
 
 svn_error_t *
-svn_wc__loggy_set_readonly(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_readonly(svn_wc__db_t *db,
                            const char *adm_abspath,
                            const char *path,
-                           apr_pool_t *result_pool,
                            apr_pool_t *scratch_pool)
 {
+  svn_stringbuf_t *log_accum = NULL;
   const char *loggy_path1;
 
   SVN_ERR(loggy_path(&loggy_path1, path, adm_abspath, scratch_pool));
-  svn_xml_make_open_tag(log_accum,
-                        result_pool,
+  svn_xml_make_open_tag(&log_accum,
+                        scratch_pool,
                         svn_xml_self_closing,
                         SVN_WC__LOG_READONLY,
                         SVN_WC__LOG_ATTR_NAME,
                         loggy_path1,
                         NULL);
 
-  return SVN_NO_ERROR;
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
+                                               scratch_pool));
 }
 
 svn_error_t *
-svn_wc__loggy_set_timestamp(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_timestamp(svn_wc__db_t *db,
                             const char *adm_abspath,
                             const char *path,
                             const char *timestr,
-                            apr_pool_t *result_pool,
                             apr_pool_t *scratch_pool)
 {
+  svn_stringbuf_t *log_accum = NULL;
   const char *loggy_path1;
 
   SVN_ERR(loggy_path(&loggy_path1, path, adm_abspath, scratch_pool));
-  svn_xml_make_open_tag(log_accum,
-                        result_pool,
+  svn_xml_make_open_tag(&log_accum,
+                        scratch_pool,
                         svn_xml_self_closing,
                         SVN_WC__LOG_SET_TIMESTAMP,
                         SVN_WC__LOG_ATTR_NAME,
@@ -1042,7 +1048,8 @@ svn_wc__loggy_set_timestamp(svn_stringbu
                         timestr,
                         NULL);
 
-  return SVN_NO_ERROR;
+  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
+                                               scratch_pool));
 }
 
 

Modified: subversion/trunk/subversion/libsvn_wc/log.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/log.h?rev=932713&r1=932712&r2=932713&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/log.h (original)
+++ subversion/trunk/subversion/libsvn_wc/log.h Sat Apr 10 12:51:23 2010
@@ -37,33 +37,12 @@
 extern "C" {
 #endif /* __cplusplus */
 
-
-
-/* OVERVIEW OF THE LOGGY API
- *
- * NOTES
- *
- *  * When a doc string says "Extend **LOG_ACCUM", it means: "if *LOG_ACCUM is
- *    NULL then set *LOG_ACCUM to a new stringbuf allocated in RESULT_POOL,
- *    else append to the existing stringbuf there."
- */
 
 /* Each path argument to the svn_wc__loggy_* functions in this section can
    be either absolute or relative to the adm_abspath argument.
 */
 
 
-/* A macro to flush LOG_ACCUM using DB and ADM_ABSPATH.  This writes all
-   current items in LOG_ACCUM to the work queue, and then reinitializes
-   LOG_ACCUM to an empty buffer. */
-#define SVN_WC__FLUSH_LOG_ACCUM(db, adm_abspath, log_accum, scratch_pool)   \
-  if ((log_accum) && !svn_stringbuf_isempty(log_accum))                     \
-    {                                                                       \
-      SVN_ERR(svn_wc__wq_add_loggy(db, adm_abspath, log_accum, scratch_pool));\
-      svn_stringbuf_setempty(log_accum);                                    \
-    }                                                                       \
-  else {}
-
 
 /* Insert into DB a work queue instruction to append the contents
    of SRC to DST.
@@ -141,10 +120,7 @@ svn_wc__loggy_entry_modify(svn_wc__db_t 
                            apr_pool_t *scratch_pool);
 
 
-/* Extend **LOG_ACCUM with log instructions to move the file SRC_PATH to
-   DST_PATH, if it exists. If it doesn't and REMOVE_DST_IF_NO_SRC is TRUE
-   the file at DST_PATH will be deleted if any.
-   TODO ### There is no 'REMOVE_DST_IF_NO_SRC' arg; what will happen?
+/* Queue instructions to move the file SRC_PATH to DST_PATH.
 
    The test for existence is made now, not at log run time.
 
@@ -154,79 +130,55 @@ svn_wc__loggy_entry_modify(svn_wc__db_t 
    Set *DST_MODIFIED (if DST_MODIFIED isn't NULL) to indicate whether the
    destination path will have been modified after running the log: if either
    the move or the remove will have been carried out.
-
-   Allocate *LOG_ACCUM in RESULT_POOL if it is NULL. Use SCRATCH_POOL for
-   temporary allocations.
 */
 svn_error_t *
-svn_wc__loggy_move(svn_stringbuf_t **log_accum,
+svn_wc__loggy_move(svn_wc__db_t *db,
                    const char *adm_abspath,
-                   const char *src_path, const char *dst_path,
-                   apr_pool_t *result_pool,
+                   const char *src_path,
+                   const char *dst_path,
                    apr_pool_t *scratch_pool);
 
 
-/* Extend **LOG_ACCUM with log instructions to set the timestamp of PATH
-   in the entry field with name TIME_PROP.
-   TODO ### Huh? There is no 'TIME_PROP' argument.
-
-   Use one of the SVN_WC__ENTRY_ATTR_* values for TIME_PROP.
-
-   ADM_ABSPATH is the absolute path for the admin directory for PATH.
-
-   Allocate *LOG_ACCUM in RESULT_POOL if it is NULL. Use SCRATCH_POOL for
-   temporary allocations.
-*/
 svn_error_t *
-svn_wc__loggy_set_entry_timestamp_from_wc(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_entry_timestamp_from_wc(svn_wc__db_t *db,
                                           const char *adm_abspath,
                                           const char *path,
-                                          apr_pool_t *result_pool,
                                           apr_pool_t *scratch_pool);
 
 
-/* Extend **LOG_ACCUM with log instructions to set the file size of PATH
+/* Queue log instructions to set the file size of PATH
    in the entries' WORKING_SIZE field.
-   ADM_ABSPATH is the absolute path for the admin directory for PATH.
 
-   Allocate *LOG_ACCUM in RESULT_POOL if it is NULL. Use SCRATCH_POOL for
-   temporary allocations.
+   ADM_ABSPATH is the absolute path for the admin directory for PATH.
 */
 svn_error_t *
-svn_wc__loggy_set_entry_working_size_from_wc(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_entry_working_size_from_wc(svn_wc__db_t *db,
                                              const char *adm_abspath,
                                              const char *path,
-                                             apr_pool_t *result_pool,
                                              apr_pool_t *scratch_pool);
 
 
-/* Extend **LOG_ACCUM with log instructions to set permissions of PATH
+/* Queue instructions to set permissions of PATH
    to 'readonly'.
-   ADM_ABSPATH is the absolute path for the admin directory for PATH.
 
-   Allocate *LOG_ACCUM in RESULT_POOL if it is NULL. Use SCRATCH_POOL for
-   temporary allocations.
+   ADM_ABSPATH is the absolute path for the admin directory for PATH.
 */
 svn_error_t *
-svn_wc__loggy_set_readonly(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_readonly(svn_wc__db_t *db,
                            const char *adm_abspath,
                            const char *path,
-                           apr_pool_t *result_pool,
                            apr_pool_t *scratch_pool);
 
-/* Extend **LOG_ACCUM with log instructions to set the timestamp of PATH to
+/* Queue instructions to set the timestamp of PATH to
    the time TIMESTR.
-   ADM_ABSPATH is the absolute path for the admin directory for PATH.
 
-   Allocate *LOG_ACCUM in RESULT_POOL if it is NULL. Use SCRATCH_POOL for
-   temporary allocations.
+   ADM_ABSPATH is the absolute path for the admin directory for PATH.
 */
 svn_error_t *
-svn_wc__loggy_set_timestamp(svn_stringbuf_t **log_accum,
+svn_wc__loggy_set_timestamp(svn_wc__db_t *db,
                             const char *adm_abspath,
                             const char *path,
                             const char *timestr,
-                            apr_pool_t *result_pool,
                             apr_pool_t *scratch_pool);
 
 /* */

Modified: subversion/trunk/subversion/libsvn_wc/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/merge.c?rev=932713&r1=932712&r2=932713&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/merge.c (original)
+++ subversion/trunk/subversion/libsvn_wc/merge.c Sat Apr 10 12:51:23 2010
@@ -1124,7 +1124,6 @@ merge_binary_file(enum svn_wc_merge_outc
     {
       /* Create a .mine file too */
       const char *mine_copy;
-      svn_stringbuf_t *log_accum = NULL;
 
       SVN_ERR(svn_io_open_uniquely_named(NULL,
                                          &mine_copy,
@@ -1133,12 +1132,11 @@ merge_binary_file(enum svn_wc_merge_outc
                                          target_label,
                                          svn_io_file_del_none,
                                          pool, pool));
-      SVN_ERR(svn_wc__loggy_move(&log_accum,
+      SVN_ERR(svn_wc__loggy_move(db,
                                  merge_dirpath,
                                  detranslated_target_abspath,
                                  mine_copy,
-                                 pool, pool));
-      SVN_ERR(svn_wc__wq_add_loggy(db, merge_dirpath, log_accum, pool));
+                                 pool));
 
       mine_copy = svn_dirent_is_child(merge_dirpath,
                                       mine_copy, pool);

Modified: subversion/trunk/subversion/libsvn_wc/props.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.c?rev=932713&r1=932712&r2=932713&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.c (original)
+++ subversion/trunk/subversion/libsvn_wc/props.c Sat Apr 10 12:51:23 2010
@@ -483,7 +483,6 @@ svn_wc__loggy_revert_props_create(svn_wc
   const char *revert_prop_abspath;
   const char *base_prop_abspath;
   svn_node_kind_t on_disk;
-  svn_stringbuf_t *log_accum = NULL;
 
   SVN_ERR(svn_wc__db_read_kind(&kind, db, local_abspath, FALSE, scratch_pool));
 
@@ -504,9 +503,9 @@ svn_wc__loggy_revert_props_create(svn_wc
   SVN_ERR(svn_io_check_path(base_prop_abspath, &on_disk, scratch_pool));
   if (on_disk == svn_node_file)
     {
-      SVN_ERR(svn_wc__loggy_move(&log_accum, adm_abspath,
+      SVN_ERR(svn_wc__loggy_move(db, adm_abspath,
                                  base_prop_abspath, revert_prop_abspath,
-                                 scratch_pool, scratch_pool));
+                                 scratch_pool));
     }
   else if (on_disk == svn_node_none)
     {
@@ -527,18 +526,16 @@ svn_wc__loggy_revert_props_create(svn_wc
       SVN_ERR(svn_stream_close(stream));
 
       /* Write a log entry to move tmp file to the destination.  */
-      SVN_ERR(svn_wc__loggy_move(&log_accum, adm_abspath,
+      SVN_ERR(svn_wc__loggy_move(db, adm_abspath,
                                  prop_tmp_abspath, revert_prop_abspath,
-                                 scratch_pool, scratch_pool));
+                                 scratch_pool));
 
       /* And make the destination read-only.  */
-      SVN_ERR(svn_wc__loggy_set_readonly(&log_accum, adm_abspath,
+      SVN_ERR(svn_wc__loggy_set_readonly(db, adm_abspath,
                                          revert_prop_abspath,
-                                         scratch_pool, scratch_pool));
+                                         scratch_pool));
     }
 
-  SVN_ERR(svn_wc__wq_add_loggy(db, adm_abspath, log_accum, scratch_pool));
-
   return SVN_NO_ERROR;
 }
 
@@ -684,8 +681,6 @@ svn_wc_merge_props3(svn_wc_notify_state_
                                     new_base_props, new_actual_props,
                                     base_merge, FALSE, pool));
 
-      /* ### add_loggy takes a DIR, but wq_run is a simple WRI_ABSPATH  */
-
       SVN_ERR(svn_wc__wq_run(wc_ctx->db, local_abspath,
                              cancel_func, cancel_baton,
                              pool));

Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=932713&r1=932712&r2=932713&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Sat Apr 10 12:51:23 2010
@@ -4143,17 +4143,14 @@ install_text_base(svn_wc__db_t *db,
                   const char *final_text_base_abspath,
                   apr_pool_t *scratch_pool)
 {
-  svn_stringbuf_t *log_accum = NULL;
-
-  SVN_ERR(svn_wc__loggy_move(&log_accum, adm_abspath,
+  SVN_ERR(svn_wc__loggy_move(db, adm_abspath,
                              temp_text_base_abspath, final_text_base_abspath,
-                             scratch_pool, scratch_pool));
-  SVN_ERR(svn_wc__loggy_set_readonly(&log_accum, adm_abspath,
+                             scratch_pool));
+  SVN_ERR(svn_wc__loggy_set_readonly(db, adm_abspath,
                                      final_text_base_abspath,
-                                     scratch_pool, scratch_pool));
+                                     scratch_pool));
 
-  return svn_error_return(svn_wc__wq_add_loggy(db, adm_abspath, log_accum,
-                                               scratch_pool));
+  return SVN_NO_ERROR;
 }
 
 
@@ -4550,30 +4547,25 @@ merge_file(svn_boolean_t *install_pristi
       && !is_locally_modified
       && (fb->adding_file || entry->schedule == svn_wc_schedule_normal))
     {
-      svn_stringbuf_t *log_accum = NULL;
-
       /* Adjust working copy file unless this file is an allowed
          obstruction. */
       if (fb->last_changed_date && !fb->obstruction_found)
         SVN_ERR(svn_wc__loggy_set_timestamp(
-                  &log_accum, pb->local_abspath,
+                  eb->db, pb->local_abspath,
                   fb->local_abspath, fb->last_changed_date,
-                  pool, pool));
+                  pool));
 
       if ((new_text_base_tmp_abspath || magic_props_changed)
           && !fb->deleted)
         {
           /* Adjust entries file to match working file */
           SVN_ERR(svn_wc__loggy_set_entry_timestamp_from_wc(
-                    &log_accum, pb->local_abspath,
-                    fb->local_abspath, pool, pool));
+                    eb->db, pb->local_abspath,
+                    fb->local_abspath, pool));
         }
       SVN_ERR(svn_wc__loggy_set_entry_working_size_from_wc(
-                &log_accum, pb->local_abspath,
-                fb->local_abspath, pool, pool));
-
-      SVN_ERR(svn_wc__wq_add_loggy(eb->db, pb->local_abspath, log_accum,
-                                   pool));
+                eb->db, pb->local_abspath,
+                fb->local_abspath, pool));
     }
 
   /* Set the returned content state. */
@@ -5657,7 +5649,6 @@ svn_wc_add_repos_file4(svn_wc_context_t 
   svn_stream_t *tmp_base_contents;
   const char *text_base_abspath;
   const char *temp_dir_abspath;
-  svn_stringbuf_t *log_accum = NULL;
   struct last_change_info *last_change = NULL;
   svn_error_t *err;
   const char *source_abspath = NULL;
@@ -5741,10 +5732,9 @@ svn_wc_add_repos_file4(svn_wc_context_t 
             SVN_ERR(svn_wc__text_revert_path(&dst_rtext, db, local_abspath,
                                              pool));
 
-            SVN_ERR(svn_wc__loggy_move(&log_accum, dir_abspath,
+            SVN_ERR(svn_wc__loggy_move(db, dir_abspath,
                                        text_base_abspath, dst_rtext,
-                                       pool, pool));
-            SVN_WC__FLUSH_LOG_ACCUM(db, dir_abspath, log_accum, pool);
+                                       pool));
 
             SVN_ERR(svn_wc__loggy_revert_props_create(db, local_abspath,
                                                       pool));