Author: julianfoad
Date: Thu Nov 26 17:43:10 2009
New Revision: 884655
URL: http://svn.apache.org/viewvc?rev=884655&view=rev
Log:
Make "obliterate" fail gracefully on the RA layers that don't yet support it
(which is all except RA-local).
* subversion/libsvn_ra/ra_loader.c
(svn_ra__obliterate): Throw an error if the vtable obliterate method is
NULL.
* subversion/libsvn_ra_neon/session.c
(neon_vtable): Add a NULL entry for the obliterate_node_rev method.
* subversion/libsvn_ra_serf/serf.c
(serf_vtable): Add a NULL entry for the obliterate_node_rev method.
* subversion/libsvn_ra_svn/client.c
(ra_svn_vtable): Add a NULL entry for the obliterate_node_rev method.
Modified:
subversion/trunk/subversion/libsvn_ra/ra_loader.c
subversion/trunk/subversion/libsvn_ra_neon/session.c
subversion/trunk/subversion/libsvn_ra_serf/serf.c
subversion/trunk/subversion/libsvn_ra_svn/client.c
Modified: subversion/trunk/subversion/libsvn_ra/ra_loader.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/ra_loader.c?rev=884655&r1=884654&r2=884655&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/ra_loader.c (original)
+++ subversion/trunk/subversion/libsvn_ra/ra_loader.c Thu Nov 26 17:43:10 2009
@@ -1144,6 +1144,10 @@
SVN_ERR(svn_ra_get_session_url(session, &session_url, pool));
+ if (session->vtable->obliterate_path_rev == NULL)
+ return svn_error_create(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
+ "obliterate not supported by this RA layer");
+
return session->vtable->obliterate_path_rev(session, rev, path, pool);
}
Modified: subversion/trunk/subversion/libsvn_ra_neon/session.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_neon/session.c?rev=884655&r1=884654&r2=884655&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_neon/session.c (original)
+++ subversion/trunk/subversion/libsvn_ra_neon/session.c Thu Nov 26 17:43:10
2009
@@ -1176,7 +1176,8 @@
svn_ra_neon__replay,
svn_ra_neon__has_capability,
svn_ra_neon__replay_range,
- svn_ra_neon__get_deleted_rev
+ svn_ra_neon__get_deleted_rev,
+ NULL /* svn_ra_neon__obliterate_node_rev */
};
svn_error_t *
Modified: subversion/trunk/subversion/libsvn_ra_serf/serf.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/serf.c?rev=884655&r1=884654&r2=884655&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/serf.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/serf.c Thu Nov 26 17:43:10 2009
@@ -1014,7 +1014,8 @@
svn_ra_serf__replay,
svn_ra_serf__has_capability,
svn_ra_serf__replay_range,
- svn_ra_serf__get_deleted_rev
+ svn_ra_serf__get_deleted_rev,
+ NULL /* svn_ra_serf__obliterate_node_rev */
};
svn_error_t *
Modified: subversion/trunk/subversion/libsvn_ra_svn/client.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/client.c?rev=884655&r1=884654&r2=884655&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_svn/client.c (original)
+++ subversion/trunk/subversion/libsvn_ra_svn/client.c Thu Nov 26 17:43:10 2009
@@ -2415,6 +2415,7 @@
ra_svn_has_capability,
ra_svn_replay_range,
ra_svn_get_deleted_rev,
+ NULL /* ra_svn_obliterate_node_rev */
};
svn_error_t *