[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-cvs
Subject:    svn commit: r10103 - in trunk/subversion: include libsvn_ra_dav libsvn_ra_local libsvn_ra_svn
From:       sussman () tigris ! org
Date:       2004-06-29 20:46:53
Message-ID: 200406292046.i5TKkrf19290 () morbius ! ch ! collab ! net
[Download RAW message or body]

Author: sussman
Date: Tue Jun 29 15:46:49 2004
New Revision: 10103

Modified:
   trunk/subversion/include/svn_ra.h
   trunk/subversion/libsvn_ra_dav/session.c
   trunk/subversion/libsvn_ra_local/ra_plugin.c
   trunk/subversion/libsvn_ra_svn/client.c
Log:
Rev the ABI version for RA layers, in preparation for svn 1.1.

This prevents a 1.1 client from accidentally loading a 1.0 RA library,
and then segfaulting when attempting to call a non-existent vtable func.

* include/svn_ra.h (SVN_RA_ABI_VERSION):  bump value to 2.

* libsvn_ra_local/ra_plugin.c (svn_ra_local_init): accept ABI version
  1 up through the latest.

* libsvn_ra_dav/session.c (svn_ra_dav_init):  do the same.

* libsvn_ra_svn/client.c (svn_ra_svn_init):  do the same.


Modified: trunk/subversion/include/svn_ra.h
Url: http://svn.collab.net/viewcvs/svn/trunk/subversion/include/svn_ra.h?view=diff&rev \
=10103&p1=trunk/subversion/include/svn_ra.h&r1=10102&p2=trunk/subversion/include/svn_ra.h&r2=10103
 ==============================================================================
--- trunk/subversion/include/svn_ra.h	(original)
+++ trunk/subversion/include/svn_ra.h	Tue Jun 29 15:46:49 2004
@@ -773,9 +773,10 @@
  * VSN  DATE        REASON FOR CHANGE
  * ---  ----------  ------------------------------------------------
  *   1  2001-02-17  Initial revision.
+ *   2  2004-06-29  Preparing for svn 1.1, which adds new RA vtable funcs.
  * </pre>
  */
-#define SVN_RA_ABI_VERSION      1
+#define SVN_RA_ABI_VERSION      2
 
 
 /* Public RA implementations: ADD MORE HERE as necessary. */

Modified: trunk/subversion/libsvn_ra_dav/session.c
Url: http://svn.collab.net/viewcvs/svn/trunk/subversion/libsvn_ra_dav/session.c?view=d \
iff&rev=10103&p1=trunk/subversion/libsvn_ra_dav/session.c&r1=10102&p2=trunk/subversion/libsvn_ra_dav/session.c&r2=10103
 ==============================================================================
--- trunk/subversion/libsvn_ra_dav/session.c	(original)
+++ trunk/subversion/libsvn_ra_dav/session.c	Tue Jun 29 15:46:49 2004
@@ -861,7 +861,8 @@
                              apr_pool_t *pconf,
                              apr_hash_t *hash)
 {
-  if (abi_version != 1)
+  if (abi_version < 1
+      || abi_version > SVN_RA_ABI_VERSION)
     return svn_error_createf (SVN_ERR_RA_UNSUPPORTED_ABI_VERSION, NULL,
                               _("Unsupported RA plugin ABI version (%d) "
                                 "for ra_dav."), abi_version);

Modified: trunk/subversion/libsvn_ra_local/ra_plugin.c
Url: http://svn.collab.net/viewcvs/svn/trunk/subversion/libsvn_ra_local/ra_plugin.c?vi \
ew=diff&rev=10103&p1=trunk/subversion/libsvn_ra_local/ra_plugin.c&r1=10102&p2=trunk/subversion/libsvn_ra_local/ra_plugin.c&r2=10103
 ==============================================================================
--- trunk/subversion/libsvn_ra_local/ra_plugin.c	(original)
+++ trunk/subversion/libsvn_ra_local/ra_plugin.c	Tue Jun 29 15:46:49 2004
@@ -904,7 +904,8 @@
                    apr_pool_t *pool,
                    apr_hash_t *hash)
 {
-  if (abi_version != 1)
+  if (abi_version < 1
+      || abi_version > SVN_RA_ABI_VERSION)
     return svn_error_createf (SVN_ERR_RA_UNSUPPORTED_ABI_VERSION, NULL,
                               "Unsupported RA plugin ABI version (%d) "
                               "for ra_local.", abi_version);

Modified: trunk/subversion/libsvn_ra_svn/client.c
Url: http://svn.collab.net/viewcvs/svn/trunk/subversion/libsvn_ra_svn/client.c?view=di \
ff&rev=10103&p1=trunk/subversion/libsvn_ra_svn/client.c&r1=10102&p2=trunk/subversion/libsvn_ra_svn/client.c&r2=10103
 ==============================================================================
--- trunk/subversion/libsvn_ra_svn/client.c	(original)
+++ trunk/subversion/libsvn_ra_svn/client.c	Tue Jun 29 15:46:49 2004
@@ -1149,7 +1149,8 @@
 svn_error_t *svn_ra_svn_init(int abi_version, apr_pool_t *pool,
                              apr_hash_t *hash)
 {
-  if (abi_version != 1)
+  if (abi_version < 1
+      || abi_version > SVN_RA_ABI_VERSION)
     return svn_error_createf(SVN_ERR_RA_UNSUPPORTED_ABI_VERSION, NULL,
                              "Unsupported RA plugin ABI version (%d) "
                              "for ra_svn.", abi_version);

---------------------------------------------------------------------
To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
For additional commands, e-mail: svn-help@subversion.tigris.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic