I've been trying to work with the core.sharedRepository option today. Based on the wording in the man page, I was under the impression that this would affect all files in any type of repository (bare or not), but it seems as though this is not the case. It affects bare repositories as one would expect, but it only affects the .git directory on non-bare repositories. The working tree is not affected by the option at all. I doubt that I'm the first person to encounter this issue, and I'm not sure why this behavior would be desirable. If for some reason it is discouraged to share a working tree between users in a group, I don't believe this option should affect non-bare repositories at all; there should be a warning about any dangers associated with this kind of setup instead. However, if we'd like to support this kind of thing, I believe that simply applying the same permissions to files and directories in the working tree would suit the language already used to describe the feature. I could make a patch for this if people agree that it makes sense.