subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hwri...@apache.org
Subject svn commit: r1055083 - in /subversion/branches/ignore-mergeinfo-log/subversion: include/svn_dav.h include/svn_ra.h include/svn_ra_svn.h libsvn_ra_local/ra_plugin.c libsvn_ra_neon/options.c libsvn_ra_serf/options.c libsvn_ra_svn/client.c
Date Tue, 04 Jan 2011 15:49:03 GMT
Author: hwright
Date: Tue Jan  4 15:49:03 2011
New Revision: 1055083

URL: http://svn.apache.org/viewvc?rev=1055083&view=rev
Log:
On the ignore-mergeinfo-log branch:
Add the machinery for detecting and storing the IGNORE_MERGEINFO capability
from the server.

* subversion/libsvn_ra_local/ra_plugin.c
  (svn_ra_local__has_capability): Recognize the IGNORE_MERGEINFO capability.

* subversion/libsvn_ra_svn/client.c
  (ra_svn_has_capability): Same.

* subversion/libsvn_ra_neon/options.c
  (parse_capabilities): Same.

* subversion/libsvn_ra_serf/options.c
  (capabilities_headers_iterator_callback, options_response_handler): Same.

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

* subversion/include/svn_ra_svn.h
  (SVN_RA_SVN_CAP_IGNORE_MERGEINFO): New.

* subversion/include/svn_ra.h
  (SVN_RA_CAPABILITY_IGNORE_MERGEINFO): New.

Modified:
    subversion/branches/ignore-mergeinfo-log/subversion/include/svn_dav.h
    subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra.h
    subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra_svn.h
    subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_local/ra_plugin.c
    subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/options.c
    subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/options.c
    subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c

Modified: subversion/branches/ignore-mergeinfo-log/subversion/include/svn_dav.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/include/svn_dav.h?rev=1055083&r1=1055082&r2=1055083&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/include/svn_dav.h (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/include/svn_dav.h Tue Jan  4 15:49:03
2011
@@ -249,6 +249,12 @@ extern "C" {
             SVN_DAV_PROP_NS_DAV "svn/atomic-revprops"
 
 /** Presence of this in a DAV header in an OPTIONS response indicates
+ * that the transmitter (in this case, the server) knows how to filter
+ * various operations with respect to mergeinfo. */
+#define SVN_DAV_NS_DAV_SVN_IGNORE_MERGEINFO\
+            SVN_DAV_PROP_NS_DAV "svn/ignore-mergeinfo"
+
+/** Presence of this in a DAV header in an OPTIONS response indicates
  * that the transmitter (in this case, the server) knows how to handle
  * a replay of a directory in the repository (not root). */
 #define SVN_DAV_NS_DAV_SVN_PARTIAL_REPLAY\

Modified: subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra.h?rev=1055083&r1=1055082&r2=1055083&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra.h (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra.h Tue Jan  4 15:49:03
2011
@@ -1996,6 +1996,14 @@ svn_ra_has_capability(svn_ra_session_t *
  */
 #define SVN_RA_CAPABILITY_ATOMIC_REVPROPS "atomic-revprops"
 
+/**
+ * The capability to ignore mergeinfo when performing various requests,
+ * such as logs.
+ *
+ * @since New in 1.7
+ */
+#define SVN_RA_CAPABILITY_IGNORE_MERGEINFO "ignore-mergeinfo"
+
 /*       *** PLEASE READ THIS IF YOU ADD A NEW CAPABILITY ***
  *
  * RA layers generally fetch all capabilities when asked about any

Modified: subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra_svn.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra_svn.h?rev=1055083&r1=1055082&r2=1055083&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra_svn.h (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/include/svn_ra_svn.h Tue Jan  4 15:49:03
2011
@@ -62,6 +62,8 @@ extern "C" {
 #define SVN_RA_SVN_CAP_PARTIAL_REPLAY "partial-replay"
 /* maps to SVN_RA_CAPABILITY_ATOMIC_REVPROPS */
 #define SVN_RA_SVN_CAP_ATOMIC_REVPROPS "atomic-revprops"
+/* maps to SVN_RA_CAPABILITY_IGNORE_MERGEINFO */
+#define SVN_RA_SVN_CAP_IGNORE_MERGEINFO "ignore-mergeinfo"
 
 /** ra_svn passes @c svn_dirent_t fields over the wire as a list of
  * words, these are the values used to represent each field.

Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_local/ra_plugin.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_local/ra_plugin.c?rev=1055083&r1=1055082&r2=1055083&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_local/ra_plugin.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_local/ra_plugin.c Tue Jan
 4 15:49:03 2011
@@ -1401,7 +1401,8 @@ svn_ra_local__has_capability(svn_ra_sess
       || strcmp(capability, SVN_RA_CAPABILITY_LOG_REVPROPS) == 0
       || strcmp(capability, SVN_RA_CAPABILITY_PARTIAL_REPLAY) == 0
       || strcmp(capability, SVN_RA_CAPABILITY_COMMIT_REVPROPS) == 0
-      || strcmp(capability, SVN_RA_CAPABILITY_ATOMIC_REVPROPS) == 0)
+      || strcmp(capability, SVN_RA_CAPABILITY_ATOMIC_REVPROPS) == 0
+      || strcmp(capability, SVN_RA_CAPABILITY_IGNORE_MERGEINFO) == 0)
     {
       *has = TRUE;
     }

Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/options.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/options.c?rev=1055083&r1=1055082&r2=1055083&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/options.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_neon/options.c Tue Jan 
4 15:49:03 2011
@@ -154,6 +154,8 @@ parse_capabilities(ne_request *req,
                APR_HASH_KEY_STRING, capability_no);
   apr_hash_set(ras->capabilities, SVN_RA_CAPABILITY_ATOMIC_REVPROPS,
                APR_HASH_KEY_STRING, capability_no);
+  apr_hash_set(ras->capabilities, SVN_RA_CAPABILITY_IGNORE_MERGEINFO,
+               APR_HASH_KEY_STRING, capability_no);
 
   /* Then find out which ones are supported. */
   val = ne_get_response_header(req, "dav");
@@ -205,6 +207,11 @@ parse_capabilities(ne_request *req,
         apr_hash_set(ras->capabilities, SVN_RA_CAPABILITY_ATOMIC_REVPROPS,
                      APR_HASH_KEY_STRING, capability_yes);
 
+      if (svn_cstring_match_glob_list(SVN_DAV_NS_DAV_SVN_IGNORE_MERGEINFO,
+                                      vals))
+        apr_hash_set(ras->capabilities, SVN_RA_CAPABILITY_IGNORE_MERGEINFO,
+                     APR_HASH_KEY_STRING, capability_yes);
+
       if (svn_cstring_match_glob_list(SVN_DAV_NS_DAV_SVN_PARTIAL_REPLAY,
                                       vals))
         apr_hash_set(ras->capabilities, SVN_RA_CAPABILITY_PARTIAL_REPLAY,

Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/options.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/options.c?rev=1055083&r1=1055082&r2=1055083&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/options.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_serf/options.c Tue Jan 
4 15:49:03 2011
@@ -320,6 +320,13 @@ capabilities_headers_iterator_callback(v
                        SVN_RA_CAPABILITY_ATOMIC_REVPROPS,
                        APR_HASH_KEY_STRING, capability_yes);
         }
+      if (svn_cstring_match_glob_list(SVN_DAV_NS_DAV_SVN_IGNORE_MERGEINFO,
+                                      vals))
+        {
+          apr_hash_set(orc->session->capabilities,
+                       SVN_RA_CAPABILITY_IGNORE_MERGEINFO,
+                       APR_HASH_KEY_STRING, capability_yes);
+        }
       if (svn_cstring_match_glob_list(SVN_DAV_NS_DAV_SVN_PARTIAL_REPLAY, vals))
         {
           apr_hash_set(orc->session->capabilities,
@@ -413,6 +420,8 @@ options_response_handler(serf_request_t 
                APR_HASH_KEY_STRING, capability_no);
   apr_hash_set(orc->session->capabilities, SVN_RA_CAPABILITY_ATOMIC_REVPROPS,
                APR_HASH_KEY_STRING, capability_no);
+  apr_hash_set(orc->session->capabilities, SVN_RA_CAPABILITY_IGNORE_MERGEINFO,
+               APR_HASH_KEY_STRING, capability_no);
 
   /* Then see which ones we can discover. */
   serf_bucket_headers_do(hdrs, capabilities_headers_iterator_callback, orc);

Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c?rev=1055083&r1=1055082&r2=1055083&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_ra_svn/client.c Tue Jan  4
15:49:03 2011
@@ -2466,6 +2466,9 @@ static svn_error_t *ra_svn_has_capabilit
   else if (strcmp(capability, SVN_RA_CAPABILITY_ATOMIC_REVPROPS) == 0)
     *has = svn_ra_svn_has_capability(sess->conn,
                                      SVN_RA_SVN_CAP_ATOMIC_REVPROPS);
+  else if (strcmp(capability, SVN_RA_CAPABILITY_IGNORE_MERGEINFO) == 0)
+    *has = svn_ra_svn_has_capability(sess->conn,
+                                     SVN_RA_SVN_CAP_IGNORE_MERGEINFO);
   else  /* Don't know any other capabilities, so error. */
     {
       return svn_error_createf



Mime
View raw message