diff -u project.install project.install --- project.install 12 Aug 2010 01:47:22 -0000 +++ project.install 13 Aug 2010 06:37:40 -0000 @@ -219,9 +219,11 @@ // If CVS module is enabled, also populate the table from the - // {cvs_project_maintainers} table so that everyone with CVS access can - // administer the project but not manipulate maintainer permissions. + // {cvs_project_maintainers} table so that anyone with CVS access + // who is not the project owner can administer the project but not + // manipulate the per-project permissions. if (module_exists('cvs')) { - $ret[] = update_sql("INSERT INTO {project_maintainer} (nid, uid, administer_project, administer_project_maintainers) SELECT nid, uid, 1, 0 FROM {cvs_project_maintainers}"); + $ret[] = update_sql("INSERT INTO {project_maintainer} (nid, uid, administer_project, administer_project_maintainers) SELECT cpm.nid, cpm.uid, 1, 0 FROM {cvs_project_maintainers} cpm INNER JOIN {node} n ON cpm.nid = n.nid WHERE cpm.uid != n.uid"); } + return $ret; } diff -u release/project_release.install release/project_release.install --- release/project_release.install 12 Aug 2010 17:39:14 -0000 +++ release/project_release.install 13 Aug 2010 06:37:48 -0000 @@ -777,9 +777,10 @@ // If CVS module is enabled, also populate the table from the - // {cvs_project_maintainers} table so that everyone with CVS access can - // administer releases. + // {cvs_project_maintainers} table so that anyone with CVS access + // who is not the project owner can administer releases. if (module_exists('cvs')) { - $ret[] = update_sql("INSERT INTO {project_release_project_maintainer} (nid, uid, administer_project_releases) SELECT nid, uid, 1 FROM {cvs_project_maintainers}"); + $ret[] = update_sql("INSERT INTO {project_release_project_maintainer} (nid, uid, administer_project_releases) SELECT cpm.nid, cpm.uid, 1 FROM {cvs_project_maintainers} cpm INNER JOIN {node} n ON cpm.nid = n.nid WHERE cpm.uid != n.uid"); } + return $ret; }