Index: update.php
===================================================================
RCS file: /cvs/drupal/drupal/update.php,v
retrieving revision 1.323
diff -u -p -r1.323 update.php
--- update.php	18 May 2010 18:11:12 -0000	1.323
+++ update.php	13 Jul 2010 15:57:47 -0000
@@ -385,6 +385,13 @@ update_fix_d7_requirements();
 drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
 drupal_maintenance_theme();
 
+// Gardens registry schema change hack to make sure we have an updated
+// schema. Do this as early as possible (right after full bootstrap),
+// so we can depend on the classes being available.
+// @todo: remove this once it works.
+registry_rebuild();
+// End of Gardens registry schema change hack.
+
 // Turn error reporting back on. From now on, only fatal errors (which are
 // not passed through the error handler) will cause a message to be printed.
 ini_set('display_errors', TRUE);
Index: includes/update.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/update.inc,v
retrieving revision 1.62
diff -u -p -r1.62 update.inc
--- includes/update.inc	10 Jul 2010 17:27:50 -0000	1.62
+++ includes/update.inc	13 Jul 2010 15:57:48 -0000
@@ -120,6 +120,20 @@ function update_prepare_d7_bootstrap() {
   // created yet.
   drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);
 
+  // Gardens inter-D7-HEAD update hack. The schema for registry_file changed, 
+  // and we need to make sure we have the right schema and the right data. So
+  // we just rely on the upcoming code to put these tables in place. The proper
+  // data will be filled in when update_finished() runs 
+  // drupal_flush_all_caches().
+  // @todo: remove this when the update ran on all sites.
+  if (db_table_exists('registry')) {
+    db_drop_table('registry');
+  }
+  if (db_table_exists('registry_file')) {
+    db_drop_table('registry_file');
+  }
+  // End of Gardens hack.
+
   // Create the registry tables.
   if (!db_table_exists('registry')) {
     $schema['registry'] = array(
