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 18:15:57 UTC

svn commit: r1707994 - /subversion/trunk/subversion/libsvn_repos/reporter.c

Author: stefan2
Date: Sun Oct 11 16:15:57 2015
New Revision: 1707994

URL: http://svn.apache.org/viewvc?rev=1707994&view=rev
Log:
Speed up revprop access in svn_repos_finish_report(), i.e. the generic
lib_repos reporter, using the latest FS API.

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

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

Modified: subversion/trunk/subversion/libsvn_repos/reporter.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/reporter.c?rev=1707994&r1=1707993&r2=1707994&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/reporter.c (original)
+++ subversion/trunk/subversion/libsvn_repos/reporter.c Sun Oct 11 16:15:57 2015
@@ -481,10 +481,12 @@ get_revision_info(report_baton_t *b,
     {
       /* Info is not available, yet.
          Get all revprops. */
-      SVN_ERR(svn_fs_revision_proplist(&r_props,
-                                       b->repos->fs,
-                                       rev,
-                                       scratch_pool));
+      SVN_ERR(svn_fs_revision_proplist2(&r_props,
+                                        b->repos->fs,
+                                        rev,
+                                        TRUE,
+                                        scratch_pool,
+                                        scratch_pool));
 
       /* Extract the committed-date. */
       cdate = svn_hash_gets(r_props, SVN_PROP_REVISION_DATE);
@@ -1548,6 +1550,7 @@ svn_repos_finish_report(void *baton, apr
 {
   report_baton_t *b = baton;
 
+  SVN_ERR(svn_fs_refresh_revision_props(svn_repos_fs(b->repos), pool));
   return svn_error_trace(finish_report(b, pool));
 }