Author: ivan
Date: Tue Jan  8 09:20:54 2013
New Revision: 1430185

URL: http://svn.apache.org/viewvc?rev=1430185&view=rev
Log:
mod_dav_svn: Advertise if server supports sending properties in update 
report in skelta mode.

* subversion/include/svn_dav.h
  (SVN_DAV_NS_DAV_SVN_INLINE_PROPS): New.

* subversion/libsvn_ra_serf/options.c
  (capabilities_headers_iterator_callback): Set 
   session->supports_inline_props to TRUE if server supports inline props.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__session_t): Add supports_inline_props.

* subversion/mod_dav_svn/version.c
  (SVN_DAV_NS_DAV_SVN_INLINE_PROPS): Advertise that inlined props are 
   supported by server.

Modified:
    subversion/trunk/subversion/include/svn_dav.h
    subversion/trunk/subversion/libsvn_ra_serf/options.c
    subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h
    subversion/trunk/subversion/mod_dav_svn/version.c

Modified: subversion/trunk/subversion/include/svn_dav.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_dav.h?rev=1430185&r1=1430184&r2=1430185&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_dav.h (original)
+++ subversion/trunk/subversion/include/svn_dav.h Tue Jan  8 09:20:54 2013
@@ -317,6 +317,13 @@ extern "C" {
 #define SVN_DAV_NS_DAV_SVN_EPHEMERAL_TXNPROPS\
             SVN_DAV_PROP_NS_DAV "svn/ephemeral-txnprops"
 
+/** Presence of this in a DAV header in an OPTIONS response indicates
+ * that the transmitter (in this case, the server) supports serving properties
+ * inline in update editor when 'send-all' is 'false'. */
+#define SVN_DAV_NS_DAV_SVN_INLINE_PROPS\
+            SVN_DAV_PROP_NS_DAV "svn/inline-props"
+
+
 /** @} */
 
 /** @} */

Modified: subversion/trunk/subversion/libsvn_ra_serf/options.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/options.c?rev=1430185&r1=1430184&r2=1430185&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/options.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/options.c Tue Jan  8 09:20:54 
2013
@@ -211,6 +211,11 @@ capabilities_headers_iterator_callback(v
                        SVN_RA_CAPABILITY_EPHEMERAL_TXNPROPS, 
APR_HASH_KEY_STRING,
                        capability_yes);
         }
+
+      if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_INLINE_PROPS, vals))
+        {
+          session->supports_inline_props = TRUE;
+        }
     }
 
   /* SVN-specific headers -- if present, server supports HTTP protocol v2 */

Modified: subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h?rev=1430185&r1=1430184&r2=1430185&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h Tue Jan  8 09:20:54 
2013
@@ -239,6 +239,10 @@ struct svn_ra_serf__session_t {
      accepts skelta requests (Off). If this value is On both options are 
      allowed. */
   const char *server_allows_bulk;
+
+  /* Indicates if the server supports sending inlined props in update editor
+   * in skelta mode (send-all == 'false'). */
+  svn_boolean_t supports_inline_props;
 };
 
 #define SVN_RA_SERF__HAVE_HTTPV2_SUPPORT(sess) ((sess)->me_resource != NULL)

Modified: subversion/trunk/subversion/mod_dav_svn/version.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/version.c?rev=1430185&r1=1430184&r2=1430185&view=diff
==============================================================================
--- subversion/trunk/subversion/mod_dav_svn/version.c (original)
+++ subversion/trunk/subversion/mod_dav_svn/version.c Tue Jan  8 09:20:54 2013
@@ -149,6 +149,7 @@ get_vsn_options(apr_pool_t *p, apr_text_
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_ATOMIC_REVPROPS);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_PARTIAL_REPLAY);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_INHERITED_PROPS);
+  apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_INLINE_PROPS);
   /* Mergeinfo is a special case: here we merely say that the server
    * knows how to handle mergeinfo -- whether the repository does too
    * is a separate matter.


Reply via email to