You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/02/01 20:00:35 UTC

svn commit: r1066135 - in /subversion/branches/ignore-mergeinfo-log: notes/http-and-webdav/webdav-protocol subversion/libsvn_ra_neon/log.c subversion/libsvn_ra_serf/log.c

Author: hwright
Date: Tue Feb  1 19:00:34 2011
New Revision: 1066135

URL: http://svn.apache.org/viewvc?rev=1066135&view=rev
Log:
On the ignore-mergeinfo-log branch:
Send the various ignored properties to the server for RA-{serf,neon}.  A patch
to mod_dav_svn which actually reads these values will be forthcoming.

* subversion/libsvn_ra_neon/log.c
  (svn_ra_neon__get_log): Put the ignored props in the http request.

* subversion/libsvn_ra_serf/log.c
  (log_context_t): Add ignored_prop_mods member.
  (create_log_body): Put the ignored props into the request.
  (svn_ra_serf__get_log): Set the ignored props in the log context.

* notes/http-and-webdav/webdav-protocol
  (log-report): Add the ignored-prop element to the HTTP protocol.

Modified:
    subversion/branches/ignore-mergeinfo-log/notes/http-and-webdav/webdav-protocol
    subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/log.c
    subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/log.c

Modified: subversion/branches/ignore-mergeinfo-log/notes/http-and-webdav/webdav-protocol
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/notes/http-and-webdav/webdav-protocol?rev=1066135&r1=1066134&r2=1066135&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/notes/http-and-webdav/webdav-protocol (original)
+++ subversion/branches/ignore-mergeinfo-log/notes/http-and-webdav/webdav-protocol Tue Feb  1 19:00:34 2011
@@ -356,6 +356,7 @@ Request:
     <S:include-merged-revisions/> (optional)
     <S:revprop>REVPROP</S:revprop>... | <S:all-revprops/> | <S:no-revprops/>
       ('revprop', 'all-revprops', and 'no-revprops' are all optional)
+    <S:ignored-prop>PROP</S:ignored-prop>... (optional)
     <S:path></S:path>... (optional)
   </S:log-report>
 

Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/log.c?rev=1066135&r1=1066134&r2=1066135&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/log.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/log.c Tue Feb  1 19:00:34 2011
@@ -450,6 +450,18 @@ svn_error_t * svn_ra_neon__get_log(svn_r
       want_custom_revprops = TRUE;
     }
 
+  if (ignored_prop_mods)
+    {
+      for (i = 0; i < ignored_prop_mods; i++)
+        {
+          char *name = APR_ARRAY_IDX(ignored_prop_mods, i, char *);
+
+          svn_stringbuf_appendcstr(request_body, "<S:ignored-prop>");
+          svn_stringbuf_appendcstr(request_body, name);
+          svn_stringbuf_appendcstr(request_body, "</S:ignored-prop>");
+        }
+    }
+
   if (want_custom_revprops)
     {
       svn_boolean_t has_log_revprops;

Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/log.c?rev=1066135&r1=1066134&r2=1066135&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/log.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/log.c Tue Feb  1 19:00:34 2011
@@ -94,6 +94,7 @@ typedef struct log_context_t {
   svn_boolean_t strict_node_history;
   svn_boolean_t include_merged_revisions;
   const apr_array_header_t *revprops;
+  const apr_array_header_t *ignored_prop_mods;
   int nest_level; /* used to track mergeinfo nesting levels */
   int count; /* only incremented when nest_level == 0 */
 
@@ -536,6 +537,19 @@ create_log_body(serf_bucket_t **body_bkt
                                    alloc);
     }
 
+  if (log_ctx->ignored_prop_mods)
+    {
+      int i;
+      for (i = 0; i < log_ctx->ignored_prop_mods->nelts; i++)
+        {
+          char *name = APR_ARRAY_IDX(log_ctx->revprops, i, char *);
+         
+          svn_ra_serf__add_tag_buckets(buckets,
+                                       "S:ignored-prop", name,
+                                       alloc);
+        }
+    }
+
   if (log_ctx->paths)
     {
       int i;
@@ -590,6 +604,7 @@ svn_ra_serf__get_log(svn_ra_session_t *r
   log_ctx->strict_node_history = strict_node_history;
   log_ctx->include_merged_revisions = include_merged_revisions;
   log_ctx->revprops = revprops;
+  log_ctx->ignored_prop_mods = ignored_prop_mods;
   log_ctx->nest_level = 0;
   log_ctx->done = FALSE;