You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2015/10/11 19:01:33 UTC

svn commit: r1708001 - /subversion/trunk/subversion/libsvn_repos/dump.c

Author: stefan2
Date: Sun Oct 11 17:01:33 2015
New Revision: 1708001

URL: http://svn.apache.org/viewvc?rev=1708001&view=rev
Log:
Speed up revprop access in svn_repos_verify_fs3() by using the latest FS API.

* subversion/libsvn_repos/dump.c
  (verify_one_revision): Read revprops from the FS cache if we can.
  (svn_repos_verify_fs3): Refresh the revprops only once, at the start of the
                          operation.  This is the only public function that
                          calls the above.  Therefore, we still fulfill the
                          visibility guarantees for revprop changes.

Modified:
    subversion/trunk/subversion/libsvn_repos/dump.c

Modified: subversion/trunk/subversion/libsvn_repos/dump.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/dump.c?rev=1708001&r1=1708000&r2=1708001&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/dump.c (original)
+++ subversion/trunk/subversion/libsvn_repos/dump.c Sun Oct 11 17:01:33 2015
@@ -2329,7 +2329,8 @@ verify_one_revision(svn_fs_t *fs,
      do this for completeness. */
   SVN_ERR(cancel_editor->close_edit(cancel_edit_baton, scratch_pool));
 
-  SVN_ERR(svn_fs_revision_proplist(&props, fs, rev, scratch_pool));
+  SVN_ERR(svn_fs_revision_proplist2(&props, fs, rev, TRUE, scratch_pool,
+                                    scratch_pool));
 
   return SVN_NO_ERROR;
 }
@@ -2409,6 +2410,10 @@ svn_repos_verify_fs3(svn_repos_t *repos,
   struct verify_fs_notify_func_baton_t *verify_notify_baton = NULL;
   svn_error_t *err;
 
+  /* Make sure we catch up on the latest revprop changes.  This is the only
+   * time we will refresh the revprop data in this query. */
+  SVN_ERR(svn_fs_refresh_revision_props(fs, pool));
+
   /* Determine the current youngest revision of the filesystem. */
   SVN_ERR(svn_fs_youngest_rev(&youngest, fs, pool));