aboutsummaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-08-09 02:38:09 -0400
committerJunio C Hamano <gitster@pobox.com>2007-08-10 00:59:43 -0700
commitb767c792fa202539cfb9bba36f46c62bcbf7c987 (patch)
tree059e724e320497b72ca58999caef213b2ccef3f9 /setup.c
parent3955d994dec590fb7c586b35094d25af92065c9d (diff)
downloadgit-b767c792fa202539cfb9bba36f46c62bcbf7c987.tar.gz
git-b767c792fa202539cfb9bba36f46c62bcbf7c987.tar.xz
Teach update-paranoid how to store ACLs organized by groups
In some applications of this paranoid update hook the set of ACL rules that need to be applied to a user can be large, and the number of users that those rules must also be applied to can be more than a handful of individuals. Rather than repeating the same rules multiple times (once for each user) we now allow users to be members of groups, where the group supplies the list of ACL rules. For various reasons we don't depend on the underlying OS groups and instead perform our own group handling. Users can be made a member of one or more groups by setting the user.memberOf property within the "users/$who.acl" file: [user] memberOf = developer memberOf = administrator This will cause the hook to also parse the "groups/$groupname.acl" file for each value of user.memberOf, and merge any allow rules that match the current repository with the user's own private rules (if they had any). Since some rules are basically the same but may have a component differ based on the individual user, any user.* key may be inserted into a rule using the "${user.foo}" syntax. The allow rule does not match if the user does not define one (and exactly one) value for the key "foo". Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'setup.c')
0 files changed, 0 insertions, 0 deletions