You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ko...@apache.org on 2017/08/24 11:48:36 UTC
svn commit: r1806031 - /subversion/trunk/subversion/libsvn_ra_serf/merge.c
Author: kotkov
Date: Thu Aug 24 11:48:36 2017
New Revision: 1806031
URL: http://svn.apache.org/viewvc?rev=1806031&view=rev
Log:
ra_serf: Minor code tweak: introduce a field in merge_context_t that keeps
track of whether we require the full MERGE response.
* subversion/libsvn_ra_serf/merge.c
(struct merge_context_t): Add new 'disable_merge_response' field.
(svn_ra_serf__run_merge): Initialize the new field.
(setup_merge_headers): Check the new field.
Modified:
subversion/trunk/subversion/libsvn_ra_serf/merge.c
Modified: subversion/trunk/subversion/libsvn_ra_serf/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/merge.c?rev=1806031&r1=1806030&r2=1806031&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/merge.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/merge.c Thu Aug 24 11:48:36 2017
@@ -79,6 +79,7 @@ typedef struct merge_context_t
apr_hash_t *lock_tokens;
svn_boolean_t keep_locks;
+ svn_boolean_t disable_merge_response;
const char *merge_resource_url; /* URL of resource to be merged. */
const char *merge_url; /* URL at which the MERGE request is aimed. */
@@ -282,11 +283,7 @@ setup_merge_headers(serf_bucket_t *heade
svn_stringbuf_appendcstr(val, SVN_DAV_OPTION_RELEASE_LOCKS);
}
- /* We don't need the full merge response when working over HTTPv2.
- * Over HTTPv1, this response is only required with a non-null
- * svn_ra_push_wc_prop_func_t callback. */
- if (SVN_RA_SERF__HAVE_HTTPV2_SUPPORT(ctx->session) ||
- ctx->session->wc_callbacks->push_wc_prop == NULL)
+ if (ctx->disable_merge_response)
{
if (val->len > 0)
svn_stringbuf_appendcstr(val, " ");
@@ -425,6 +422,13 @@ svn_ra_serf__run_merge(const svn_commit_
merge_ctx->lock_tokens = lock_tokens;
merge_ctx->keep_locks = keep_locks;
+ /* We don't need the full merge response when working over HTTPv2.
+ * Over HTTPv1, this response is only required with a non-null
+ * svn_ra_push_wc_prop_func_t callback. */
+ merge_ctx->disable_merge_response =
+ SVN_RA_SERF__HAVE_HTTPV2_SUPPORT(session) ||
+ session->wc_callbacks->push_wc_prop == NULL;
+
merge_ctx->commit_info = svn_create_commit_info(result_pool);
merge_ctx->merge_url = session->session_url.path;