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.