Add support for special $user repositories
authorSteve McIntyre <smcintyre@aminocom.com>
Tue, 20 Oct 2009 13:49:04 +0000 (14:49 +0100)
committerSteve McIntyre <smcintyre@aminocom.com>
Tue, 20 Oct 2009 13:49:04 +0000 (14:49 +0100)
commitc98600cacb2e199147ed10313dc9701d25c6a6b9
tree16f4b694885fe47b5a5e1d7512a2cd858652738a
parente9a663caa3c971532ae8b0216e752d65300049ef
Add support for special $user repositories

Extra syntax in the config file ($user) will now denote wildcard-style
user repositories. This allows us to add support for users to have
their own public repos without having to do tedious admin work for all
of them.

This involves changes to:

 * access.py to add lookups for $user access on top of normal access;
   $user is treated as a wildcard where necessary when doing
   filesystem path lookups, but used for permission checking too: the
   magic user "$user" can now be added to the members list in
   configuration groups.

 * gitweb.py to add code to deal with the $user wildcards when
   generating the description and project list files that gitweb
   uses. Where we can determine the user's credentials locally, use
   full names. Some code refactoring to fit with existing code
   better. Also: don't assume that close and rename are safe: force
   flush and fsync too

 * example.conf to add entries for user directories. Show how the user
   directories can be made to work
example.conf
gitosis/access.py
gitosis/gitweb.py