зеркало из https://github.com/microsoft/git.git
Merge branch 'jc/maint-shared-literally' into maint
* jc/maint-shared-literally: Update docs on behaviour of 'core.sharedRepository' and 'git init --shared' t1301-shared-repo: fix forced modes test
This commit is contained in:
Коммит
5027acc4db
|
@ -290,8 +290,10 @@ core.sharedRepository::
|
|||
group-shareable. When 'umask' (or 'false'), git will use permissions
|
||||
reported by umask(2). When '0xxx', where '0xxx' is an octal number,
|
||||
files in the repository will have this mode value. '0xxx' will override
|
||||
user's umask value, and thus, users with a safe umask (0077) can use
|
||||
this option. Examples: '0660' is equivalent to 'group'. '0640' is a
|
||||
user's umask value (whereas the other options will only override
|
||||
requested parts of the user's umask value). Examples: '0660' will make
|
||||
the repo read/write-able for the owner and group, but inaccessible to
|
||||
others (equivalent to 'group' unless umask is e.g. '0022'). '0640' is a
|
||||
repository that is group-readable but not group-writable.
|
||||
See linkgit:git-init[1]. False by default.
|
||||
|
||||
|
|
|
@ -54,15 +54,21 @@ is given:
|
|||
|
||||
- 'group' (or 'true'): Make the repository group-writable, (and g+sx, since
|
||||
the git group may be not the primary group of all users).
|
||||
This is used to loosen the permissions of an otherwise safe umask(2) value.
|
||||
Note that the umask still applies to the other permission bits (e.g. if
|
||||
umask is '0022', using 'group' will not remove read privileges from other
|
||||
(non-group) users). See '0xxx' for how to exactly specify the repository
|
||||
permissions.
|
||||
|
||||
- 'all' (or 'world' or 'everybody'): Same as 'group', but make the repository
|
||||
readable by all users.
|
||||
|
||||
- '0xxx': '0xxx' is an octal number and each file will have mode '0xxx'
|
||||
Any option except 'umask' can be set using this option. '0xxx' will
|
||||
override users umask(2) value, and thus, users with a safe umask (0077)
|
||||
can use this option. '0640' will create a repository which is group-readable
|
||||
but not writable. '0660' is equivalent to 'group'.
|
||||
- '0xxx': '0xxx' is an octal number and each file will have mode '0xxx'.
|
||||
'0xxx' will override users' umask(2) value (and not only loosen permissions
|
||||
as 'group' and 'all' does). '0640' will create a repository which is
|
||||
group-readable, but not group-writable or accessible to others. '0660' will
|
||||
create a repo that is readable and writable to the current user and group,
|
||||
but inaccessible to others.
|
||||
|
||||
By default, the configuration flag receive.denyNonFastForwards is enabled
|
||||
in shared repositories, so that you cannot force a non fast-forwarding push
|
||||
|
|
|
@ -141,11 +141,14 @@ test_expect_success 'forced modes' '
|
|||
git commit -a -m initial &&
|
||||
git repack
|
||||
) &&
|
||||
find new/.git -print |
|
||||
# List repository files meant to be protected; note that
|
||||
# COMMIT_EDITMSG does not matter---0mode is not about a
|
||||
# repository with a work tree.
|
||||
find new/.git -type f -name COMMIT_EDITMSG -prune -o -print |
|
||||
xargs ls -ld >actual &&
|
||||
|
||||
# Everything must be unaccessible to others
|
||||
test -z "$(sed -n -e "/^.......---/d" actual)" &&
|
||||
test -z "$(sed -e "/^.......---/d" actual)" &&
|
||||
|
||||
# All directories must have either 2770 or 770
|
||||
test -z "$(sed -n -e "/^drwxrw[sx]---/d" -e "/^d/p" actual)" &&
|
||||
|
@ -156,10 +159,11 @@ test_expect_success 'forced modes' '
|
|||
p
|
||||
}" actual)" &&
|
||||
|
||||
# All files inside objects must be 0440
|
||||
# All files inside objects must be accessible by us
|
||||
test -z "$(sed -n -e "/objects\//{
|
||||
/^d/d
|
||||
/^-r--r-----/d
|
||||
/^-r.-r.----/d
|
||||
p
|
||||
}" actual)"
|
||||
'
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче