On Sun, Feb 11, 2024 at 03:28:57PM +0000, brian m. carlson wrote: > On 2024-02-11 at 15:14:55, Torsten Bögershausen wrote: > > Thanks for reporting this - > > I think that you have a working workaround ? > > > > However, Git has a feature called "shared repository". > > You need to define a (unix) group that is shared between > > your user(s) and the ansible user. > > > > The basic trick is to do > > git config core.sharedRepository true > > > > (And then change the ownership of all files/directories to the new group) > > On Linux, you also should set each directory to be setgid. That's > because by default, Linux uses the user's current group ID as the group > to create new directories. However, you'll want the group to be > inherited from the parent directory, which is the behaviour when the > parent directory is setgid. > > This behaviour is the default on the BSDs, and no such configuration is > required there. Briam, Hm, I wonder what this function (in path.c) does: int adjust_shared_perm(const char *path) According to my understanding, it was included into the Git codebase to work around the missing "setgid" feature in Linux (and probably cygwin). And then we have t/t1301-shared-repo.sh, so I think we are in a good shape: for all systems that have posix permissions. and do not overwrite them with facl or other features.