Hi,

This is the follow-up to r1126441.

In r1126441, Ivan reduced the no. of RA requests in subversion/svnsync/main.c: open_source_session() by using svn_ra_rev_proplist(). This patch does the same during "svnsync info" also.

Attaching the patch and log message.

Thanks & Regards,
Vijayaguru
Index: subversion/svnsync/main.c
===================================================================
--- subversion/svnsync/main.c	(revision 1126455)
+++ subversion/svnsync/main.c	(working copy)
@@ -1633,6 +1633,7 @@
   apr_array_header_t *targets;
   subcommand_baton_t *baton;
   const char *to_url;
+  apr_hash_t *props;
   svn_string_t *from_url, *from_uuid, *last_merged_rev;
 
   SVN_ERR(svn_opt__args_to_target_array(&targets, os,
@@ -1654,19 +1655,20 @@
   baton = make_subcommand_baton(opt_baton, to_url, NULL, 0, 0, pool);
   SVN_ERR(open_target_session(&to_session, baton, pool));
 
-  /* Verify that the repos has been initialized for synchronization. */
-  SVN_ERR(svn_ra_rev_prop(to_session, 0, SVNSYNC_PROP_FROM_URL,
-                          &from_url, pool));
+  SVN_ERR(svn_ra_rev_proplist(to_session, 0, &props, pool));
+
+  from_url = apr_hash_get(props, SVNSYNC_PROP_FROM_URL,
+                          APR_HASH_KEY_STRING);
+  
   if (! from_url)
     return svn_error_createf
       (SVN_ERR_BAD_URL, NULL,
        _("Repository '%s' is not initialized for synchronization"), to_url);
 
-  /* Fetch more of the magic properties, which are the source of our info. */
-  SVN_ERR(svn_ra_rev_prop(to_session, 0, SVNSYNC_PROP_FROM_UUID,
-                          &from_uuid, pool));
-  SVN_ERR(svn_ra_rev_prop(to_session, 0, SVNSYNC_PROP_LAST_MERGED_REV,
-                          &last_merged_rev, pool));
+  from_uuid = apr_hash_get(props, SVNSYNC_PROP_FROM_UUID,
+                           APR_HASH_KEY_STRING);
+  last_merged_rev = apr_hash_get(props, SVNSYNC_PROP_LAST_MERGED_REV,
+                                 APR_HASH_KEY_STRING);
 
   /* Print the info. */
   SVN_ERR(svn_cmdline_printf(pool, _("Source URL: %s\n"), from_url->data));
This is the follow-up to r1126441.

Reduce number of RA requests during 'svnsync info'.

* subversion/svnsync/main.c
  (info_cmd): Retrieve three properties using one 
   svn_ra_rev_proplist() call instead of requesting them one by one.

Patch by: Vijayaguru G <vijay{_AT_}collab.net>
Inspired by: Ivan

Reply via email to