"git init --shared=all" was failing because chmod was returning EPERM. According to the man page, the set-group-id behavior is already default: man 2 mkdir: The directory's group ID is set to that of the parent directory in which it is created. Signed-off-by: Scott R Parish <srp@xxxxxxxxxxxx> --- path.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/path.c b/path.c index 4260952..4089753 100644 --- a/path.c +++ b/path.c @@ -282,8 +282,10 @@ int adjust_shared_perm(const char *path) : (shared_repository == PERM_EVERYBODY ? (S_IXGRP|S_IXOTH) : 0)); +#if !defined(__APPLE__) if (S_ISDIR(mode)) mode |= S_ISGID; +#endif if ((mode & st.st_mode) != mode && chmod(path, mode) < 0) return -2; return 0; -- 1.5.3.4.209.g5d1ce-dirty - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html