Index: cvs_deploy.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cvs_deploy/cvs_deploy.module,v
retrieving revision 1.9.2.10
diff -u -p -r1.9.2.10 cvs_deploy.module
--- cvs_deploy.module	19 Nov 2008 18:40:41 -0000	1.9.2.10
+++ cvs_deploy.module	1 Jun 2009 18:59:35 -0000
@@ -95,15 +95,26 @@ function _cvs_deploy_version_alter(&$ver
     $version = cvs_deploy_version_from_tag(trim($match[1]));
   }
 
-  if (function_exists('update_status_get_available') && $version == 'HEAD') {
+  if (module_exists('update_status') && $version == 'HEAD') {
     // If there's available update_status data, we can use the version string
     // the release node pointing to HEAD really has. However, we can only
     // safely grab this data directly from the cache, since if we call
     // update_status_get_available() here, we'd enter infinite recursion when
     // that function invokes update_status_get_projects(), which in turn needs
     // to process the .info files, which invokes the hook that leads here.
-    if (empty($available) && ($cache = cache_get('update_status_info', 'cache'))) {
-      $available = unserialize($cache->data);
+    if (empty($available)) {
+      if (function_exists('_update_status_cache_get')) {
+        // update_status 5.x-2.4 and later, using the new private cache system.
+        $cache = _update_status_cache_get('update_status_available_releases');
+      }
+      else {
+        // update_status 5.x-2.3 and earlier, using the (fragile) core cache
+        // system.
+        $cache = cache_get('update_status_info', 'cache');
+      }
+      if (!empty($cache)) {
+        $available = unserialize($cache->data);
+      }
     }
     $project_name = !empty($project['project']) ? $project['project'] : cvs_deploy_get_project_name($project);
     if (isset($available[$project_name]['releases'])) {
