--- revision_moderation_actions-head.inc	2006-11-01 22:37:49.000000000 -0600
+++ revision_moderation_actions.inc	2007-05-15 11:39:50.000000000 -0500
@@ -49,3 +49,27 @@ function action_revision_moderation_disa
       break;
   }
 }
+
+
+/**
+ * Revert to latest pending revision.
+ */
+function action_revision_moderation_publish_pending($op, $edit = array(), &$node) {
+  switch ($op) {
+    case 'metadata':
+      return array(
+        'description' => t('Publish (revert to) the latest pending revision.'),
+        'type' => t('Node'),
+        'batchable' => false,
+        'configurable' => false,
+      );
+      break;
+    case 'do':
+      if ($revisions = revision_moderation_get_node_pending_revisions($node->nid)) {
+        // get the last revision
+        $latest = array_shift( $revisions );
+        revision_moderation_publish($node->nid, $latest->vid);
+      }
+      break;
+  }
+}
