On Sat, Jun 24, 2017 at 12:02 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Christian Couder <christian.couder@xxxxxxxxx> writes: >> Because of that, on repositories created with `git init --shared=all` >> and using the split index feature, one gets an error like: >> >> fatal: .git/sharedindex.a52f910b489bc462f187ab572ba0086f7b5157de: index file open failed: Permission denied >> >> when another user performs any operation that reads the shared index. >> >> We could use create_tempfile() that calls adjust_shared_perm(), but >> unfortunately create_tempfile() doesn't replace the XXXXXX at the end >> of the path it is passed. So let's just call adjust_shared_perm() by >> ourselves. > > Because create_tempfile() is not even a viable alternative, the > above sounds just as silly as saying "We could use X, but > unfortunately that X doesn't create a temporary file and return its > file descriptor" with X replaced with any one of about a dozen > functions that happen to call adjust_shared_perm(). > > Call adjust_shared_perm() on the temporary file created by > mks_tempfile() ourselves to adjust the permission bits. > > should be sufficient. Ok, the v3 has the above in the commit message and also uses get_tempfile_path().