Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1287
diff -u -p -r1.1287 node.module
--- modules/node/node.module	11 Aug 2010 14:21:38 -0000	1.1287
+++ modules/node/node.module	12 Aug 2010 09:09:39 -0000
@@ -1429,15 +1429,6 @@ function node_permission() {
       'description' => t('View, edit and delete all content regardless of permission restrictions.'),
       'restrict access' => TRUE,
     ),
-    'view revisions' => array(
-      'title' => t('View content revisions'),
-    ),
-    'revert revisions' => array(
-      'title' => t('Revert content revisions'),
-    ),
-    'delete revisions' => array(
-      'title' => t('Delete content revisions'),
-    ),
     'view own unpublished content' => array(
       'title' => t('View own unpublished content'),
     ),
@@ -1722,9 +1713,10 @@ function theme_node_search_admin($variab
 function _node_revision_access($node, $op = 'view') {
   $access = &drupal_static(__FUNCTION__, array());
   if (!isset($access[$node->vid])) {
+    $type = $node->type;
     // To save additional calls to the database, return early if the user
     // doesn't have the required permissions.
-    $map = array('view' => 'view revisions', 'update' => 'revert revisions', 'delete' => 'delete revisions');
+    $map = array('view' => 'view ' . $type . ' revisions', 'update' => 'revert ' . $type . ' revisions', 'delete' => 'delete ' . $type . ' revisions');
     if (isset($map[$op]) && (!user_access($map[$op]) && !user_access('administer nodes'))) {
       $access[$node->vid] = FALSE;
       return FALSE;
@@ -2893,6 +2885,15 @@ function node_list_permissions($type) {
     "delete any $type content" => array(
       'title' => t('Delete any %type_name content', array('%type_name' => $info->name)),
     ),
+    "view $type revisions" => array(
+      'title' => t('View %type_name revisions', array('%type_name' => $info->name)),
+    ),
+    "revert $type revisions" => array(
+      'title' => t('Revert %type_name revisions', array('%type_name' => $info->name)),
+    ),
+    "delete $type revisions" => array(
+      'title' => t('Delete %type_name revisions', array('%type_name' => $info->name)),
+    ),
   );
 
   return $perms;
Index: modules/node/node.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.pages.inc,v
retrieving revision 1.128
diff -u -p -r1.128 node.pages.inc
--- modules/node/node.pages.inc	30 Jul 2010 03:06:18 -0000	1.128
+++ modules/node/node.pages.inc	12 Aug 2010 09:09:39 -0000
@@ -492,12 +492,13 @@ function node_revision_overview($node) {
   $revisions = node_revision_list($node);
 
   $rows = array();
+  $type = $node->type;
   $revert_permission = FALSE;
-  if ((user_access('revert revisions') || user_access('administer nodes')) && node_access('update', $node)) {
+  if ((user_access('revert ' . $type . ' revisions') || user_access('administer nodes')) && node_access('update', $node)) {
     $revert_permission = TRUE;
   }
   $delete_permission = FALSE;
-  if ((user_access('delete revisions') || user_access('administer nodes')) && node_access('delete', $node)) {
+  if ((user_access('delete ' . $type . ' revisions') || user_access('administer nodes')) && node_access('delete', $node)) {
     $delete_permission = TRUE;
   }
   foreach ($revisions as $revision) {
