I wanted a really simple way to show or hide projects on a per user basis.
I've attached a patch I'm using to achieve this.
By default all projects are permissioned for everyone (so it should be backward compatible).
You can set restrictions, in the config in the projects array for each repos with a 'users' value. It supports a project default permission and per user overrides.
Here's an example $conf['projects']
$conf['projects'] = array(
'project1' => array(
'repo' => '/volume1/dw_git/project1.git'
'project2' => array(
'repo' => '/volume1/dw_git/project2.git'
'project3' => array(
'repo' => '/volume1/dw_git/project3.git',
'users' => array('*' => false, 'damphlett' => true), // only damphlett can see project3
'project4' => array(
'repo' => '/volume1/dw_git/project4.git',
'users' => array('humpty' => false), // everyone except humpty can see project4