You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2010/09/21 10:21:05 UTC

svn commit: r999267 - /subversion/trunk/subversion/libsvn_ra_serf/replay.c

Author: rhuijben
Date: Tue Sep 21 08:21:05 2010
New Revision: 999267

URL: http://svn.apache.org/viewvc?rev=999267&view=rev
Log:
Following up on r999265, handle a 'values already available' response
from svn_ra_serf__deliver_props() in a proper way.

* subversion/libsvn_ra_serf/replay.c
  (start_replay): If prop_ctx is NULL, we are done.
  (svn_ra_serf__replay_range): Only set prop_ctx if we are not done yet.

Modified:
    subversion/trunk/subversion/libsvn_ra_serf/replay.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/replay.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/replay.c?rev=999267&r1=999266&r2=999267&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/replay.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/replay.c Tue Sep 21 08:21:05 2010
@@ -184,7 +184,8 @@ start_replay(svn_ra_serf__xml_parser_t *
       push_state(parser, ctx, REPORT);
 
       /* Before we can continue, we need the revision properties. */
-      SVN_ERR_ASSERT(svn_ra_serf__propfind_is_done(ctx->prop_ctx));
+      SVN_ERR_ASSERT(!ctx->prop_ctx
+                     || svn_ra_serf__propfind_is_done(ctx->prop_ctx));
 
       /* Create a pool for the commit editor. */
       ctx->dst_rev_pool = svn_pool_create(ctx->src_rev_pool);
@@ -757,7 +758,6 @@ svn_ra_serf__replay_range(svn_ra_session
           /* Request all properties of a certain revision. */
           replay_ctx->report_target = report_target;
           replay_ctx->revs_props = apr_hash_make(replay_ctx->src_rev_pool);
-          replay_ctx->prop_ctx = prop_ctx;
           SVN_ERR(svn_ra_serf__deliver_props(&prop_ctx,
                                              replay_ctx->revs_props, session,
                                              session->conns[0], report_target,
@@ -765,6 +765,8 @@ svn_ra_serf__replay_range(svn_ra_session
                                              TRUE, NULL,
                                              replay_ctx->src_rev_pool));
 
+          replay_ctx->prop_ctx = prop_ctx;
+
           /* Send the replay report request. */
           handler = apr_pcalloc(replay_ctx->src_rev_pool, sizeof(*handler));