| Commit message (Collapse) | Author | Lines |
|
The ACL mask denotes the maximum access rights that can be granted by
ACL entries. Not recalculating it means that we end up with an incorrect
mask of r--, denying write permission for users other than the owner
even though ACL entries exist for them.
Explicitly set the mask and default directory mask to rwX such that we
end up with rw- on files and rwx on directories.
|
|
We have always felt that the name of this program was too close to the
invocation of 'git init --shared' which does something similar. Make it
clear in the name that we're working with POSIX ACLs instead of normal
permission sets as 'git init --shared' does.
|
|
setfacl(1) allows specifying multiple ACL entries with ','. This makes
the code cleaner and easier to maintain.
|
|
git-init(1) allows users to safely reinitialize a git repository. This
is useful, for example, if new permissions are set with --shared.
This commit adds similar functionality to git-init-shared(1) by not only
setting the right ACLs on the toplevel directory (and relying on ACL
inheritance through the default entry), but also making sure that the
correct rights are set for all files that already exist in the
repository.
Where before a user had to run the right 'setfacl' invocation themselves
to add a new user to the access lists, now the same is possible by
simply invoking git-init-shared(1) again with the right user. For
example, the following invocation adds access to both 'foo' and 'bar':
git init-shared repo/ foo
git init-shared repo/ bar
|