"I would not be using git had sitaram not been kind enough to listen to my suggestions, and implement wildrepos in gitolite."
My use of wildreposI primarily use wildrepos in two scenarios: managing documentation and development for my research team, and homework submissions for my classes. Both of these scenarios use all the features of wildrepos including non-admin repository creation, user-level permission distribution, and group management. We use git for revision control of papers and source code. I am considered the admin and every other user (research team members and students alike) are considered users. Our typical use case involves multiple users either contributing to the paper or the development of some source code. The admin rarely (I can always hope for this) takes the lead on writing the entire paper or writing the entire source code. This means that the users are responsible for creating the initial repository, and giving permissions to other users (co-authors and developers). One user is usually the lead, and that user creates the repository. Then, it is this user that delegates permissions to other co-authors and developers for collaboration. All this must happen without the intervention of the admin. Thankfully, the wildrepos features enables this.
As the admin, I simply setup the basic repository definitions in the configuration file as shown below. This lets every member of the @esl group to create repositories inside the papers/ directory with repository names that match the prescribed regular expression. There are several examples of wildcard repos that can help better configure them to suit ones needs.
1 2 3 4 5 repo papers/[0-9][0-9]*[/]+[a-zA-Z0-9][a-zA-Z0-9_\.\-]+ C = @admins @caesr @uwprofs RW+ = CREATOR RW = WRITERS R = READERS
1 2 3 4 5 6 repo papers/[0-9][0-9]*[/]+[a-zA-Z0-9][a-zA-Z0-9_\.\-]+ repo scratch/CREATOR/[aA-zZ0-9]* C = @caesr RW+CD = CREATOR RW = WRITERS R = READERS