You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gs...@apache.org on 2012/06/07 22:58:00 UTC

svn commit: r1347792 - /subversion/trunk/subversion/libsvn_ra_serf/merge.c

Author: gstein
Date: Thu Jun  7 20:58:00 2012
New Revision: 1347792

URL: http://svn.apache.org/viewvc?rev=1347792&view=rev
Log:
Clean out obsolete code and rename a type.

* subversion/libsvn_ra_serf/merge.c:
  (svn_ra_serf__merge_context_t): renamed to ...
  (merge_context_t): ... this, since it is now private
  (merge_closed, setup_merge_headers, create_merge_body,
      svn_ra_serf__run_merge): track the type rename
  (push_state, start_merge, end_merge, cdata_merge): removed.

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=1347792&r1=1347791&r2=1347792&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/merge.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/merge.c Thu Jun  7 20:58:00 2012
@@ -69,7 +69,7 @@ typedef enum merge_state_e {
 
 
 /* Structure associated with a MERGE request. */
-typedef struct svn_ra_serf__merge_context_t
+typedef struct merge_context_t
 {
   apr_pool_t *pool;
 
@@ -84,7 +84,7 @@ typedef struct svn_ra_serf__merge_contex
 
   svn_commit_info_t *commit_info;
 
-} svn_ra_serf__merge_context_t;
+} merge_context_t;
 
 
 #define D_ "DAV:"
@@ -154,7 +154,7 @@ merge_closed(svn_ra_serf__xml_estate_t *
              apr_hash_t *attrs,
              apr_pool_t *scratch_pool)
 {
-  svn_ra_serf__merge_context_t *merge_ctx = baton;
+  merge_context_t *merge_ctx = baton;
 
   if (leaving_state == RESPONSE)
     {
@@ -264,307 +264,12 @@ merge_closed(svn_ra_serf__xml_estate_t *
 }
 
 
-#if 0
-
-static merge_info_t *
-push_state(svn_ra_serf__xml_parser_t *parser,
-           svn_ra_serf__merge_context_t *ctx,
-           merge_state_e state)
-{
-  merge_info_t *info;
-
-  svn_ra_serf__xml_push_state(parser, state);
-
-  if (state == RESPONSE)
-    {
-      info = apr_palloc(parser->state->pool, sizeof(*info));
-      info->pool = parser->state->pool;
-      info->props = apr_hash_make(info->pool);
-      info->prop_value = svn_stringbuf_create_empty(info->pool);
-
-      parser->state->private = info;
-    }
-
-  return parser->state->private;
-}
-
-static svn_error_t *
-start_merge(svn_ra_serf__xml_parser_t *parser,
-            svn_ra_serf__dav_props_t name,
-            const char **attrs,
-            apr_pool_t *scratch_pool)
-{
-  svn_ra_serf__merge_context_t *ctx = parser->user_data;
-  merge_state_e state;
-  merge_info_t *info;
-
-  state = parser->state->current_state;
-
-  if (state == NONE &&
-      strcmp(name.name, "merge-response") == 0)
-    {
-      push_state(parser, ctx, MERGE_RESPONSE);
-    }
-  else if (state == NONE)
-    {
-      /* do nothing as we haven't seen our valid start tag yet. */
-    }
-  else if (state == MERGE_RESPONSE &&
-           strcmp(name.name, "updated-set") == 0)
-    {
-      push_state(parser, ctx, UPDATED_SET);
-    }
-  else if (state == UPDATED_SET &&
-           strcmp(name.name, "response") == 0)
-    {
-      push_state(parser, ctx, RESPONSE);
-    }
-  else if (state == RESPONSE &&
-           strcmp(name.name, "href") == 0)
-    {
-      info = push_state(parser, ctx, PROP_VAL);
-
-      info->prop_ns = name.namespace;
-      info->prop_name = "href";
-      svn_stringbuf_setempty(info->prop_value);
-    }
-  else if (state == RESPONSE &&
-           strcmp(name.name, "propstat") == 0)
-    {
-      push_state(parser, ctx, PROPSTAT);
-    }
-  else if (state == PROPSTAT &&
-           strcmp(name.name, "prop") == 0)
-    {
-      push_state(parser, ctx, PROP);
-    }
-  else if (state == PROPSTAT &&
-           strcmp(name.name, "status") == 0)
-    {
-      /* Do nothing for now. */
-    }
-  else if (state == PROP &&
-           strcmp(name.name, "resourcetype") == 0)
-    {
-      info = push_state(parser, ctx, RESOURCE_TYPE);
-      info->type = UNSET;
-    }
-  else if (state == RESOURCE_TYPE &&
-           strcmp(name.name, "baseline") == 0)
-    {
-      info = parser->state->private;
-
-      info->type = BASELINE;
-    }
-  else if (state == RESOURCE_TYPE &&
-           strcmp(name.name, "collection") == 0)
-    {
-      info = parser->state->private;
-
-      info->type = COLLECTION;
-    }
-  else if (state == PROP &&
-           strcmp(name.name, "checked-in") == 0)
-    {
-      info = push_state(parser, ctx, IGNORE_PROP_NAME);
-      info->prop_ns = name.namespace;
-      info->prop_name = "checked-in";
-      svn_stringbuf_setempty(info->prop_value);
-    }
-  else if (state == PROP)
-    {
-      push_state(parser, ctx, PROP_VAL);
-    }
-  else if (state == IGNORE_PROP_NAME)
-    {
-      push_state(parser, ctx, PROP_VAL);
-    }
-  else if (state == NEED_PROP_NAME)
-    {
-      info = push_state(parser, ctx, PROP_VAL);
-      info->prop_ns = name.namespace;
-      info->prop_name = apr_pstrdup(info->pool, name.name);
-      svn_stringbuf_setempty(info->prop_value);
-    }
-  else
-    {
-      SVN_ERR_MALFUNCTION();
-    }
-
-  return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-end_merge(svn_ra_serf__xml_parser_t *parser,
-          svn_ra_serf__dav_props_t name,
-          apr_pool_t *scratch_pool)
-{
-  svn_ra_serf__merge_context_t *ctx = parser->user_data;
-  merge_state_e state;
-  merge_info_t *info;
-
-  state = parser->state->current_state;
-  info = parser->state->private;
-
-  if (state == NONE)
-    {
-      /* nothing to close yet. */
-      return SVN_NO_ERROR;
-    }
-
-  if (state == RESPONSE &&
-      strcmp(name.name, "response") == 0)
-    {
-      if (info->type == BASELINE)
-        {
-          const char *str;
-
-          str = apr_hash_get(info->props, SVN_DAV__VERSION_NAME,
-                             APR_HASH_KEY_STRING);
-          if (str)
-            {
-              ctx->commit_info->revision = SVN_STR_TO_REV(str);
-            }
-          else
-            {
-              ctx->commit_info->revision = SVN_INVALID_REVNUM;
-            }
-
-          ctx->commit_info->date =
-              apr_pstrdup(ctx->pool,
-                          apr_hash_get(info->props, SVN_DAV__CREATIONDATE,
-                                       APR_HASH_KEY_STRING));
-
-          ctx->commit_info->author =
-              apr_pstrdup(ctx->pool,
-                          apr_hash_get(info->props, "creator-displayname",
-                                       APR_HASH_KEY_STRING));
-
-          ctx->commit_info->post_commit_err =
-             apr_pstrdup(ctx->pool,
-                         apr_hash_get(info->props,
-                                      "post-commit-err", APR_HASH_KEY_STRING));
-        }
-      else
-        {
-          const char *href;
-
-          href = apr_hash_get(info->props, "href", APR_HASH_KEY_STRING);
-          if (! svn_urlpath__skip_ancestor(ctx->merge_url, href))
-            {
-              return svn_error_createf(SVN_ERR_RA_DAV_REQUEST_FAILED, NULL,
-                                       _("A MERGE response for '%s' is not "
-                                         "a child of the destination ('%s')"),
-                                       href, ctx->merge_url);
-            }
-
-          /* We now need to dive all the way into the WC to update the
-           * base VCC url.
-           */
-          if ((! SVN_RA_SERF__HAVE_HTTPV2_SUPPORT(ctx->session))
-              && ctx->session->wc_callbacks->push_wc_prop)
-            {
-              svn_string_t checked_in_str;
-              const char *checked_in;
-
-              /* From the above check, we know that CTX->MERGE_URL is
-                 an ancestor of HREF.  All that remains is to
-                 determine if HREF is the same as CTX->MERGE_URL, or --
-                 if not -- its relative value as a child thereof. */
-              href = svn_urlpath__skip_ancestor(ctx->merge_url, href);
-
-              checked_in = apr_hash_get(info->props, "checked-in",
-                                        APR_HASH_KEY_STRING);
-              checked_in_str.data = checked_in;
-              checked_in_str.len = strlen(checked_in);
-
-              SVN_ERR(ctx->session->wc_callbacks->push_wc_prop(
-                ctx->session->wc_callback_baton, href,
-                SVN_RA_SERF__WC_CHECKED_IN_URL, &checked_in_str, info->pool));
-            }
-        }
-
-      svn_ra_serf__xml_pop_state(parser);
-    }
-  else if (state == PROPSTAT &&
-           strcmp(name.name, "propstat") == 0)
-    {
-      svn_ra_serf__xml_pop_state(parser);
-    }
-  else if (state == PROP &&
-           strcmp(name.name, "prop") == 0)
-    {
-      svn_ra_serf__xml_pop_state(parser);
-    }
-  else if (state == RESOURCE_TYPE &&
-           strcmp(name.name, "resourcetype") == 0)
-    {
-      svn_ra_serf__xml_pop_state(parser);
-    }
-  else if (state == IGNORE_PROP_NAME || state == NEED_PROP_NAME)
-    {
-      svn_ra_serf__xml_pop_state(parser);
-    }
-  else if (state == PROP_VAL)
-    {
-      const char *value;
-
-      if (!info->prop_name)
-        {
-          /* ### gstein sez: dunno what this is about.  */
-          info->prop_name = apr_pstrdup(info->pool, name.name);
-        }
-
-      if (strcmp(info->prop_name, "href") == 0)
-        value = svn_urlpath__canonicalize(info->prop_value->data, info->pool);
-      else
-        value = apr_pstrmemdup(info->pool,
-                               info->prop_value->data, info->prop_value->len);
-
-      /* Set our property. */
-      apr_hash_set(info->props, info->prop_name, APR_HASH_KEY_STRING,
-                   value);
-
-      info->prop_ns = NULL;
-      info->prop_name = NULL;
-      svn_stringbuf_setempty(info->prop_value);
-
-      svn_ra_serf__xml_pop_state(parser);
-    }
-
-  return SVN_NO_ERROR;
-}
-
-static svn_error_t *
-cdata_merge(svn_ra_serf__xml_parser_t *parser,
-            const char *data,
-            apr_size_t len,
-            apr_pool_t *scratch_pool)
-{
-  svn_ra_serf__merge_context_t *ctx = parser->user_data;
-  merge_state_e state;
-  merge_info_t *info;
-
-  UNUSED_CTX(ctx);
-
-  state = parser->state->current_state;
-  info = parser->state->private;
-
-  if (state == PROP_VAL)
-    svn_stringbuf_appendbytes(info->prop_value, data, len);
-
-  return SVN_NO_ERROR;
-}
-
-#endif /* 0 */
-
-
 static svn_error_t *
 setup_merge_headers(serf_bucket_t *headers,
                     void *baton,
                     apr_pool_t *pool)
 {
-  svn_ra_serf__merge_context_t *ctx = baton;
+  merge_context_t *ctx = baton;
 
   if (!ctx->keep_locks)
     {
@@ -629,7 +334,7 @@ create_merge_body(serf_bucket_t **bkt,
                   serf_bucket_alloc_t *alloc,
                   apr_pool_t *pool)
 {
-  svn_ra_serf__merge_context_t *ctx = baton;
+  merge_context_t *ctx = baton;
   serf_bucket_t *body_bkt;
 
   body_bkt = serf_bucket_aggregate_create(alloc);
@@ -681,7 +386,7 @@ svn_ra_serf__run_merge(const svn_commit_
                        apr_pool_t *result_pool,
                        apr_pool_t *scratch_pool)
 {
-  svn_ra_serf__merge_context_t *merge_ctx;
+  merge_context_t *merge_ctx;
   svn_ra_serf__handler_t *handler;
   svn_ra_serf__xml_context_t *xmlctx;