diff options
author | Heikki Orsila <heikki.orsila@iki.fi> | 2008-04-16 11:34:24 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-04-16 18:23:54 -0700 |
commit | 06cbe8550324e0fd2290839bf3b9a92aa53b70ab (patch) | |
tree | e455c3b2f28bd57e3d166f8bf1f11bab5cf7ae1e /cache.h | |
parent | a17b1d2f0b3128be6f116bf22b58244b310d27b9 (diff) | |
download | git-06cbe8550324e0fd2290839bf3b9a92aa53b70ab.tar.gz |
Make core.sharedRepository more generic
git init --shared=0xxx, where '0xxx' is an octal number, will create
a repository with file modes set to '0xxx'. Users with a safe umask
value (0077) can use this option to force file modes. For example,
'0640' is a group-readable but not group-writable regardless of
user's umask value. Values compatible with old Git versions are written
as they were before, for compatibility reasons. That is, "1" for
"group" and "2" for "everybody".
"git config core.sharedRepository 0xxx" is also handled.
Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -474,10 +474,20 @@ static inline void hashclr(unsigned char *hash) int git_mkstemp(char *path, size_t n, const char *template); +/* + * NOTE NOTE NOTE!! + * + * PERM_UMASK, OLD_PERM_GROUP and OLD_PERM_EVERYBODY enumerations must + * not be changed. Old repositories have core.sharedrepository written in + * numeric format, and therefore these values are preserved for compatibility + * reasons. + */ enum sharedrepo { - PERM_UMASK = 0, - PERM_GROUP, - PERM_EVERYBODY + PERM_UMASK = 0, + OLD_PERM_GROUP = 1, + OLD_PERM_EVERYBODY = 2, + PERM_GROUP = 0660, + PERM_EVERYBODY = 0664, }; int git_config_perm(const char *var, const char *value); int adjust_shared_perm(const char *path); |