read-cache: use shared perms when writing shared index
commitdf801f3f9f5be52842239f0d0233d5c3fb0cdffd
authorChristian Couder <christian.couder@gmail.com>
Sun, 25 Jun 2017 04:34:27 +0000 (25 06:34 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 25 Jun 2017 17:42:52 +0000 (25 10:42 -0700)
treef64007127dd943afe0aad855e86628494fd9b09b
parentfd99e2bda0ca6a361ef03c04d6d7fdc7a9c40b78
read-cache: use shared perms when writing shared index

Since f6ecc62dbf (write_shared_index(): use tempfile module, 2015-08-10)
write_shared_index() has been using mks_tempfile() to create the
temporary file that will become the shared index.

But even before that, it looks like the functions used to create this
file didn't call adjust_shared_perm(), which means that the shared
index file has always been created with 600 permissions regardless
of the shared permission settings.

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.

Call adjust_shared_perm() on the temporary file created by
mks_tempfile() ourselves to adjust the permission bits.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
read-cache.c