# example conf file for gitosis-lite # comments in the normal shell-ish style; no surprises there # objectives, over and above gitosis: # - simpler syntax # - no gitweb/daemon control # - allows ff/non-ff control # - allows branch level control # ---------------------------------------------------------------------------- # user groups; syntax: # @groupname = username [...] # too many users? just add more such lines # (they accumulate, like squid ACLs) @customers = cust1 cust2 @customers = cust99 @interns = indy james @staff = me alice # you can nest groups; they'll be fully expanded in actual use @staff = bob @interns @secret_staff = bruce whitfield martin # ---------------------------------------------------------------------------- # each section pertains to one or more repo(s); syntax: # repo reponame [...] # (R|RW|RW+) [list of ref names] = [list of users] # - RW+ means non-ff push is allowed # - if no ref name exists, the rule applies to all refs # - ref names are perl regex patterns # - suffixed by "$" # - prefixed by "refs/heads/" if it doesn't start with "refs/" # (i.e., tags have to be explicitly named as refs/tags/pattern) # - the order of entries matters: the first ref+action line (for the repo) # that matches is what counts. If the user is listed, the action is # allowed, otherwise it is rejected. # - list of users can use any group name defined earlier # - "@all" is a special, predefined, groupname # anyone can play in the sandbox repo sandbox RW+ = @all # my repo and alice's repo have the same memberships and access, so we just # club them repo myrepo alicerepo RW+ = me alice R = bob eve repo custrepo RW = @customers R = @staff # idea for the tags syntax shamelessly copied from git.git # Documentation/howto/update-hook-example.txt :) repo secret RW+ pu = bruce RW master next = bruce RW refs/tags/v[0-9].* = bruce RW tmp/.* = @secret_staff R = @secret_staff